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
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!
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