CONVERSION FROM STRING [Ô]INSERT INTO ENDERECO C

HELIOPASSOS 18/01/2011 13:32:04
#362617
Estou com um probleminha ao incluir os dados de endereco na tabela, ao tentar incluir me surge a seguinte mensagem:
Conversion from String [Ô]INSERT INTO Endereco ( CodCliente[Ô] to type [ô]Double[ô] is not valid
Ainda não consegui resolver este probleminha, uma vez que meu campo CodCliente na tabela é int, o valor que estou inserindo cCod é int , de onde ele está convertendo para double?.... Ou como soluciono isto?

o erro esta aparecendo no campo codCliente da tabela Endereco, e os dados vindo de uma datagridview, base de dados Access 2007

cCod = Convert.ToInt32(codigo)
sRua = row.Cells([Ô]Logradouro[Ô]).Value.ToString()
sNum = row.Cells([Ô]Numero[Ô]).Value.ToString()
sCompl = row.Cells([Ô]Complemento[Ô]).Value.ToString()
sCEP = row.Cells([Ô]CEP[Ô]).Value.ToString()
sBairro = row.Cells([Ô]Bairro[Ô]).Value.ToString()
sCid = row.Cells([Ô]Cidade[Ô]).Value.ToString()
sEst = row.Cells([Ô]Estado[Ô]).Value.ToString()

sql =[Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado) VALUES ([ô][Ô] _
+ cCod + [Ô][ô],[ô][Ô] + sRua + [Ô][ô],[ô][Ô] + sNum + [Ô][ô],[ô][Ô] + sCompl + [Ô][ô],[ô][Ô] + sCEP + [Ô][ô],[ô][Ô] + sBairro + [Ô][ô],[ô][Ô] + sCid + [Ô][ô],[ô][Ô] + sEst + [Ô][ô])[Ô]


Por favor alguem me ajude, obrigado!
MITSUEDA 18/01/2011 13:36:21
#362618
sql =[Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado) VALUES ( _
cCod ,[ô][Ô] + sRua + [Ô][ô],[ô][Ô] + sNum + [Ô][ô],[ô][Ô] + sCompl + [Ô][ô],[ô][Ô] + sCEP + [Ô][ô],[ô][Ô] + sBairro + [Ô][ô],[ô][Ô] + sCid + [Ô][ô],[ô][Ô] + sEst + [Ô][ô])[Ô]

Retire as aspas da string sql no campo cCod.

HELIOPASSOS 18/01/2011 13:44:03
#362621
Oi, obrigado.
Mas esta dando erro, não tem a virgula logo depois do valor cCod ???? ou falta alguma aspa ???...
JONATHANSTECKER 18/01/2011 13:50:27
#362623
Resposta escolhida
Que erro ocorre?
JONATHANSTECKER 18/01/2011 13:55:34
#362624
Veja se assim ocorre algum erro também...

sql =[Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado) VALUES ( _ 
cCod,[Ô][ô] + sRua + [Ô][ô],[ô][Ô] + sNum + [Ô][ô],[ô][Ô] + sCompl + [Ô][ô],[ô][Ô] + sCEP + [Ô][ô],[ô][Ô] + sBairro + [Ô][ô],[ô][Ô] + sCid + [Ô][ô],[ô][Ô] + sEst + [Ô][ô])[Ô]
HELIOPASSOS 18/01/2011 14:04:15
#362625
Olá. Quanto as aspas, consertei, rsrsrs. Mas agora esta dando o seguinte erro: [ô]O comando de texto não foi definido para o objeto de Comando.[ô] qual o comando correto, onde eu declaro isto?
RODRIGOFERRO 18/01/2011 14:30:37
#362635
amigão posta o codigo completo dessa rotina ai, o pessoal precisa verificar quando o erro acontece..

Abraços
HELIOPASSOS 18/01/2011 14:38:01
#362640
Esta dando erro no cmd.ExecuteNonQuery(), que é quando vou adicionar o registro.
......
Dim cmd As New OleDb.OleDbCommand(sqln, con)
cmd.CommandType = CommandType.Text
For Each row As DataGridViewRow In Me.dtgEnderecos.Rows

cCod = Convert.ToInt32(codigo)
sRua = row.Cells([Ô]Logradouro[Ô]).Value.ToString()
sNum = row.Cells([Ô]Numero[Ô]).Value.ToString()
sCompl = row.Cells([Ô]Complemento[Ô]).Value.ToString()
sCEP = row.Cells([Ô]CEP[Ô]).Value.ToString()
sBairro = row.Cells([Ô]Bairro[Ô]).Value.ToString()
sCid = row.Cells([Ô]Cidade[Ô]).Value.ToString()
sEst = row.Cells([Ô]Estado[Ô]).Value.ToString()

sqln = [Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado, Tel1, Tel2, Tel3) VALUES ( cCod [ô],[ô][Ô] + sRua + [Ô][ô],[ô][Ô] + sNum + [Ô][ô],[ô][Ô] + sCompl + [Ô][ô],[ô][Ô] + sCEP + [Ô][ô],[ô][Ô] + sBairro + [Ô][ô],[ô][Ô] + sCid + [Ô][ô],[ô][Ô] + sEst + [Ô][ô],[ô][Ô] + txtTel1.Text + [Ô][ô],[ô][Ô] + txtTel2.Text + [Ô][ô],[ô][Ô] + txtTel3.Text + [Ô][ô])[Ô]
[ô] ----
Try
con.Open()
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
dtgEnderecos.Columns.Clear()
sqln = Nothing
Catch ex As Exception
MsgBox(ex.Message)
End Try
Next
End Using

esta dando o seguinte erro: [ô]O comando de texto não foi definido para o objeto de Comando.[ô] ( cmd.executenonquery() ) qual o comando correto, ou onde eu declaro isto?

Obrigado.
KILLER 18/01/2011 15:19:41
#362651
esse cCod é uma variavel, do jeito que esta, não esta lendo o cCod como variavel e sim como texto, tenta isso:

sqln = [Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado, Tel1, Tel2, Tel3) VALUES ( [Ô] & cCod & [Ô] [ô],[ô][Ô] + sRua + [Ô][ô],[ô][Ô] + sNum + [Ô][ô],[ô][Ô] + sCompl + [Ô][ô],[ô][Ô] + sCEP + [Ô][ô],[ô][Ô] + sBairro + [Ô][ô],[ô][Ô] + sCid + [Ô][ô],[ô][Ô] + sEst + [Ô][ô],[ô][Ô] + txtTel1.Text + [Ô][ô],[ô][Ô] + txtTel2.Text + [Ô][ô],[ô][Ô] + txtTel3.Text + [Ô][ô])[Ô]

outra coisa evita usar concatenuação de string usando & ou +, com o tempo isso deixa o codigo muito lento, dê preferencia pelo System.Text.StringBuilder, ficaria assim:

Dim Conc as new System.Text.StringBuilder
Conc.Remove(0, Conc.Length)

sqln = Conc.Append([Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado, Tel1, Tel2, Tel3) VALUES ( [Ô]).Append(cCod).Append([Ô] [ô],[ô][Ô]).Append(sRua).Append([Ô][ô],[ô][Ô]).Append(sNum).Append([Ô][ô],[ô][Ô]).Append(sCompl).Append([Ô][ô],[ô][Ô]).Append(sCEP).Append([Ô][ô],[ô][Ô]).Append(sBairro).Append([Ô][ô],[ô][Ô]).Append(sCid).Append([Ô][ô],[ô][Ô]).Append(sEst).Append([Ô][ô],[ô][Ô]).Append(txtTel1.Text).Append([Ô][ô],[ô][Ô]).Append(txtTel2.Text).Append([Ô][ô],[ô][Ô]).Append(txtTel3.Text).Append([Ô][ô])[Ô]).ToString

Try
con.Open()
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
dtgEnderecos.Columns.Clear()
sqln = Nothing
Catch ex As Exception
MsgBox(ex.Message)
End Try

HELIOPASSOS 18/01/2011 15:32:04
#362653
Muito obrigado!
Mais uma coisa, onde eu encontro um explicação sobre esses comandos? Eu gostaria de me aprofundar mais, em vez de ficar tentando e tentando.

Obrigado mesmo!
MITSUEDA 18/01/2011 15:32:48
#362654
Eu mudaria a estrutura para ficar assim
Dim cmd As New OleDb.OleDbCommand(sqln, con)
cmd.CommandType = CommandType.Text
For Each row As DataGridViewRow In Me.dtgEnderecos.Rows

sqln = [Ô]INSERT INTO Endereco (codCliente, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, Estado, Tel1, Tel2, Tel3) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)[Ô]
Try

cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]codCliente[Ô], Convert.ToInt32(codigo)))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Logradouro[Ô], row.Cells([Ô]Logradouro[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Numero[Ô], row.Cells([Ô]Numero[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Complemento[Ô], row.Cells([Ô]Complemento[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]CEP[Ô], row.Cells([Ô]CEP[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Bairro[Ô], row.Cells([Ô]Bairro[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Cidade[Ô], row.Cells([Ô]Cidade[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Estado[Ô], row.Cells([Ô]Estado[Ô]).Value.ToString()))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Tel1[Ô], strNome))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Tel1[Ô], strNome))
cmd.Parameters.Add(New OleDb.OleDbParameter([Ô]Tel1[Ô], strNome))

con.Open()
cmd.ExecuteNonQuery()
cmd.Parameters.Clear()
dtgEnderecos.Columns.Clear()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Next
End Using
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas