CONVERSION FROM STRING [Ô]INSERT INTO ENDERECO C
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!
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!
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.
cCod ,[ô][Ô] + sRua + [Ô][ô],[ô][Ô] + sNum + [Ô][ô],[ô][Ô] + sCompl + [Ô][ô],[ô][Ô] + sCEP + [Ô][ô],[ô][Ô] + sBairro + [Ô][ô],[ô][Ô] + sCid + [Ô][ô],[ô][Ô] + sEst + [Ô][ô])[Ô]
Retire as aspas da string sql no campo cCod.
Oi, obrigado.
Mas esta dando erro, não tem a virgula logo depois do valor cCod ???? ou falta alguma aspa ???...
Mas esta dando erro, não tem a virgula logo depois do valor cCod ???? ou falta alguma aspa ???...
Que erro ocorre?
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 + [Ô][ô])[Ô]
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?
amigão posta o codigo completo dessa rotina ai, o pessoal precisa verificar quando o erro acontece..
Abraços
Abraços
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.
......
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.
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
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

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!
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
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
Tópico encerrado , respostas não são mais permitidas