CRIAR UMA FUNCAO DE UM PROCEDURE DE CRIACAO DE TAB
eu fiz assim mais tb nao vai...
Imports System.Data.SqlClient
Module Module1
Public Conexao As New SqlConnection
Public Reader As SqlDataReader
Public objConexaoBD As New Classes.ConexaoBD
Public objAmbienteSQL As New Classes.AmbienteSQL
End Module
Public Class ConexaoBD
Dim connetionString As String = [Ô]Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=engenharia1;Data Source=CAROL\SQLEXPRESS[Ô]
Dim connectionstring As String
Public Sub Conectar()
With Conexao
[ô] Abre a conexao
If Conexao.State = ConnectionState.Open Then
Conexao.Close()
End If
If Not .State = ConnectionState.Open Then [ô]Verifica se a conexão já está aberta
.ConnectionString = [Ô]Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=engenharia1;Data Source=CAROL\SQLEXPRESS[Ô]
.Open() [ô]Abre a conexão com o BD
End If
End With
End Sub
Public Sub Desconectar()
Try
Reader.Close() [ô]Fecha o Reader
Reader = Nothing
Catch ex As Exception
Reader = Nothing
Finally
If Conexao.State = ConnectionState.Open Then Conexao.Close() [ô]Verifica se a conexão está abreta. Se estiver então fecha.
End Try
End Sub
End Class
Public Class AmbienteSQL
[ô][ô][ô] <summary>
[ô][ô][ô] Insere, Atualiza ou Deleta dados no BD, de acordo com o comando SQL passado
[ô][ô][ô] </summary>
[ô][ô][ô] <qualStringSQL>Comando SQL a ser executado</qualStringSQL>
[ô][ô][ô] <remarks></remarks>
Public WriteOnly Property GravaResultados() As String
Set(ByVal qualStringSQL As String) [ô]Comando SQL para ser executado
Using Adapter As New SqlCommand
With Adapter
Try
If qualStringSQL.StartsWith([Ô]create[Ô]) Then [ô]Caso seja par inserir dados
Dim comando As SqlCommand = Conexao.CreateCommand
comando.CommandType = CommandType.StoredProcedure
comando.CommandText = [Ô]createcliente[Ô]
Try
Conexao.Open()
comando.ExecuteNonQuery()
Conexao.Close()
Catch ex As Exception
Console.WriteLine()
End Try
End If
Catch ex As Exception
Console.WriteLine()
End Try
End With
End Using
End Set
End Property
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
objConexaoBD.Conectar() [ô]Faz conexão com o Banco de dados
[ô]Aqui executa código caso NÃO dê erro na conexão
sql = [Ô]CREATE TABLE cliente[Ô] + [Ô]Nome CHAR(50),RG CHAR(20),CPF char(20),datanasc date,telefone char(20), telcom char(20), celular char(20), Endereco CHAR(50),bairro char(30), cidade char(30), cep char(20), estado char(2), contato char(50),site char(50), email char(50),referencia char(50),observacao char(100))[Ô]
objAmbienteSQL.GravaResultados = sql
End Sub
procedure
ALTER PROCEDURE dbo.createcliente
@codigo integer,
@nome char(50),
@rg char(20),
@cpf char(20),
@datanasc date,
@nomefan char(50),
@telefone char(20),
@telecom char(20),
@celular char(20),
@endereco char(50),
@bairro char(30),
@cidade char(50),
@cep char(20),
@estado char(4),
@contato char(50),
@site char(50),
@email char(50),
@referencia char(50)
AS
CREATE TABLE Cliente(codigo INTEGER CONSTRAINT PKeyMyId PRIMARY KEY,
Nome CHAR(50),RG CHAR(20),CPF char(20),datanasc date,telefone char(20), telcom char(20), celular char(20), Endereco CHAR(50),bairro char(30), cidade char(30), cep char(20), estado char(2), contato char(50),site char(50), email char(50),referencia char(50),observacao char(100))
desce jeito tb nao estou conseguindo a tambem criar a tabela
Imports System.Data.SqlClient
Module Module1
Public Conexao As New SqlConnection
Public Reader As SqlDataReader
Public objConexaoBD As New Classes.ConexaoBD
Public objAmbienteSQL As New Classes.AmbienteSQL
End Module
Public Class ConexaoBD
Dim connetionString As String = [Ô]Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=engenharia1;Data Source=CAROL\SQLEXPRESS[Ô]
Dim connectionstring As String
Public Sub Conectar()
With Conexao
[ô] Abre a conexao
If Conexao.State = ConnectionState.Open Then
Conexao.Close()
End If
If Not .State = ConnectionState.Open Then [ô]Verifica se a conexão já está aberta
.ConnectionString = [Ô]Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=engenharia1;Data Source=CAROL\SQLEXPRESS[Ô]
.Open() [ô]Abre a conexão com o BD
End If
End With
End Sub
Public Sub Desconectar()
Try
Reader.Close() [ô]Fecha o Reader
Reader = Nothing
Catch ex As Exception
Reader = Nothing
Finally
If Conexao.State = ConnectionState.Open Then Conexao.Close() [ô]Verifica se a conexão está abreta. Se estiver então fecha.
End Try
End Sub
End Class
Public Class AmbienteSQL
[ô][ô][ô] <summary>
[ô][ô][ô] Insere, Atualiza ou Deleta dados no BD, de acordo com o comando SQL passado
[ô][ô][ô] </summary>
[ô][ô][ô] <qualStringSQL>Comando SQL a ser executado</qualStringSQL>
[ô][ô][ô] <remarks></remarks>
Public WriteOnly Property GravaResultados() As String
Set(ByVal qualStringSQL As String) [ô]Comando SQL para ser executado
Using Adapter As New SqlCommand
With Adapter
Try
If qualStringSQL.StartsWith([Ô]create[Ô]) Then [ô]Caso seja par inserir dados
Dim comando As SqlCommand = Conexao.CreateCommand
comando.CommandType = CommandType.StoredProcedure
comando.CommandText = [Ô]createcliente[Ô]
Try
Conexao.Open()
comando.ExecuteNonQuery()
Conexao.Close()
Catch ex As Exception
Console.WriteLine()
End Try
End If
Catch ex As Exception
Console.WriteLine()
End Try
End With
End Using
End Set
End Property
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
objConexaoBD.Conectar() [ô]Faz conexão com o Banco de dados
[ô]Aqui executa código caso NÃO dê erro na conexão
sql = [Ô]CREATE TABLE cliente[Ô] + [Ô]Nome CHAR(50),RG CHAR(20),CPF char(20),datanasc date,telefone char(20), telcom char(20), celular char(20), Endereco CHAR(50),bairro char(30), cidade char(30), cep char(20), estado char(2), contato char(50),site char(50), email char(50),referencia char(50),observacao char(100))[Ô]
objAmbienteSQL.GravaResultados = sql
End Sub
procedure
ALTER PROCEDURE dbo.createcliente
@codigo integer,
@nome char(50),
@rg char(20),
@cpf char(20),
@datanasc date,
@nomefan char(50),
@telefone char(20),
@telecom char(20),
@celular char(20),
@endereco char(50),
@bairro char(30),
@cidade char(50),
@cep char(20),
@estado char(4),
@contato char(50),
@site char(50),
@email char(50),
@referencia char(50)
AS
CREATE TABLE Cliente(codigo INTEGER CONSTRAINT PKeyMyId PRIMARY KEY,
Nome CHAR(50),RG CHAR(20),CPF char(20),datanasc date,telefone char(20), telcom char(20), celular char(20), Endereco CHAR(50),bairro char(30), cidade char(30), cep char(20), estado char(2), contato char(50),site char(50), email char(50),referencia char(50),observacao char(100))
desce jeito tb nao estou conseguindo a tambem criar a tabela
Pegue esta alteração no programa.
Agora, para mais informações como criar tabelas, aconselho acessar estes links
https://sites.google.com/site/programacaoonline/family-blog/vb-net/criando-um-banco-access-em-tempo-de-execucao
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
http://www.academictutorials.com/Pt/sql/sql-create.asp
Lembre-se que no comando INSERT eu utilizei dados fixos, você deve mudar para as variáveis que você quer, por exemplo:
Para o nome: [txt-color=#e80000][ô]Antonio[ô][/txt-color], você deve trocar para [txt-color=#e80000]@Nome[/txt-color] e assim por diante
Agora, para mais informações como criar tabelas, aconselho acessar estes links
https://sites.google.com/site/programacaoonline/family-blog/vb-net/criando-um-banco-access-em-tempo-de-execucao
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
http://www.academictutorials.com/Pt/sql/sql-create.asp
Lembre-se que no comando INSERT eu utilizei dados fixos, você deve mudar para as variáveis que você quer, por exemplo:
Para o nome: [txt-color=#e80000][ô]Antonio[ô][/txt-color], você deve trocar para [txt-color=#e80000]@Nome[/txt-color] e assim por diante
as funçoes de insert e de update e delete e select eu ja tenho... mais valeu pela dica... o meu problema so ta sendo criar a tabela.. mais vou testar o que vc me mandou
consegui valeu e esse comando mesmo.. so mudei a forma de criar a tabela.. pq o executenoquery() nao recebe AUTOINCREMENT.. vlw
Surgiu um novo problema.. em um botao eu criou mais de umas tabela.. porem estou usando esse comando.. mais ele so gera a primeira tabela.. ai fez um teste com um IF e uma msg apos a criação da primeira tabela e a msg nao mostru tb... depois fiz o teste com o insert que voce criou dentro do IF tb nao esta preenchendo.
Oi, demorei para responder porque só volto a trabalhar na Quarta-feira.
Não entendi seu problema. Tente ser mais clara possÃvel.
O que está acontecendo?
O que você quer fazer depois de criar a tabela?
Você quer criar mais de uma tabela? Se não, não vai conseguir criar uotra tabel porque o CREATE TABLE não deixa criar mais de uma tabela com o mesmo nome.
Se você quiser inserir dados em uma tabela já criada você tem que tirar o CREATE TABLE do comando SQL e deixar apenas o [Ô][txt-color=#e80000]INSERT INTO tblCliente[/txt-color][Ô].
Se você quiser alterar algum dado em uma registro já existente na tabela, você tem que usar o comando UPDATE. Por exemplo: [Ô][txt-color=#e80000]UPDATE tblCliente SET nome = @nomeNovo[/txt-color][Ô]
Não entendi seu problema. Tente ser mais clara possÃvel.
O que está acontecendo?
O que você quer fazer depois de criar a tabela?
Você quer criar mais de uma tabela? Se não, não vai conseguir criar uotra tabel porque o CREATE TABLE não deixa criar mais de uma tabela com o mesmo nome.
Se você quiser inserir dados em uma tabela já criada você tem que tirar o CREATE TABLE do comando SQL e deixar apenas o [Ô][txt-color=#e80000]INSERT INTO tblCliente[/txt-color][Ô].
Se você quiser alterar algum dado em uma registro já existente na tabela, você tem que usar o comando UPDATE. Por exemplo: [Ô][txt-color=#e80000]UPDATE tblCliente SET nome = @nomeNovo[/txt-color][Ô]
Vc nao criou um if no botão após o create com o insert. Pois então esse if nao funciona.pois quando ele achama a função do create nao esta retornando nem para desconectar o banco.pq irei usar esse comando mais de uma vez pq são varias tabelas eu queria criar um botão so para criar essas tabelas.
Ok.
Pelo que vi você quer criar uma tabela pra cada cliente não é?
Não é uma prática não muito boa mas vou ver isto pra você.
Como já mencionei, só volto a trabalhar Quarta-Feira, então se alguém não te ajudar até lá, eu dou uma olhada pra você.
Pelo que vi você quer criar uma tabela pra cada cliente não é?
Não é uma prática não muito boa mas vou ver isto pra você.
Como já mencionei, só volto a trabalhar Quarta-Feira, então se alguém não te ajudar até lá, eu dou uma olhada pra você.
Ainda nao e isso. Estou criando um botão aonde ele vai criar as tabelas para ir chamando as funções. Por exemplo cliente, fornecedor, produto. Tudo em um único botão.para nao ter vários botões.espero que eu tenha conseguido explicar
Pega aà a última atualização que eu fiz no programa que te enviei.
Sinceramente, se não for isto que você quer, infelizmente, não poderei te ajudar mais por não saber exatamente o que seu programa vai fazer em relação a criar tabelas e inserir clientes.
Lembre-se que não fiz tratamento de erro nenhum.
Então se algum campo for obrigatório você terá de criar um tratamento para exibir isto ao usuário antes de inserir o novo cliente.
Abraços.
Sinceramente, se não for isto que você quer, infelizmente, não poderei te ajudar mais por não saber exatamente o que seu programa vai fazer em relação a criar tabelas e inserir clientes.
Lembre-se que não fiz tratamento de erro nenhum.
Então se algum campo for obrigatório você terá de criar um tratamento para exibir isto ao usuário antes de inserir o novo cliente.
Abraços.
Tópico encerrado , respostas não são mais permitidas