STRING COM APOSTROFO
Dúvida simples...
Tenho um campo numa Tabela que recebe dados do Tipo String...porém dá erro se no nome for usado o [ô] (Apostrofo)...
como faço para corrigir esse erro !
Engraçado...no VB-6 dá erro também
Tenho um campo numa Tabela que recebe dados do Tipo String...porém dá erro se no nome for usado o [ô] (Apostrofo)...
como faço para corrigir esse erro !
Engraçado...no VB-6 dá erro também
Usa um Replace
Poste o código de listagem para que eu possa te instruir melhor.
Poste o código de listagem para que eu possa te instruir melhor.
Para inserir no banco:
Carregando do Banco para apresentar em ListView
Beleza ?!
Sub Inserir_Dados()
Dim sNome As String = txtNome.Text, sEnde As String = txtEnd.Text, sCid As String = txtCid.Text
Dim Inserir As String = [Ô]INSERT INTO CLIENTES(NOME,ENDERECO,CIDADE)[Ô] & _
[Ô]VALUES([ô][Ô] & sNome & [Ô][ô],[ô][Ô] & sEnde & [Ô][ô],[ô][Ô] & sCid & [Ô][ô])[Ô]
Dim Con2 As New OleDbConnection(Scon)
Con2.Open()
Dim Cmd2 As New OleDbCommand(Inserir, Con2)
Cmd2.ExecuteNonQuery()
MessageBox.Show([Ô]Dados Salvos com Sucesso ![Ô], [Ô]VB.NET 2010[Ô], 0, MessageBoxIcon.Information)
[ô]Limpando Caixas de Textos:
txtNome.Text = IsVazio()
txtEnd.Text = IsVazio()
txtCid.Text = IsVazio()
End Sub
Carregando do Banco para apresentar em ListView
Sub FullListView()
Dim LN As Integer
Dim s_SQL As String = [Ô]SELECT * FROM CLIENTES ORDER BY NOME ASC[Ô]
Using Cnx As New OleDbConnection(Scon)
Cnx.Open()
Using Cm As New OleDbCommand(s_SQL, Cnx)
Using Ds As New DataSet
Using DAdp As New OleDbDataAdapter(Cm)
DAdp.Fill(Ds, [Ô]Clientes[Ô])
[ô] Colocando Nomes nas colunas do ListView:
With Lv2
.Clear()
.Columns.Add([Ô]Nome[Ô], 150, System.Windows.Forms.HorizontalAlignment.Left)
.Columns.Add([Ô]Endereço[Ô], 250, System.Windows.Forms.HorizontalAlignment.Left)
.Columns.Add([Ô]Cidade[Ô], 160, System.Windows.Forms.HorizontalAlignment.Left)
End With
[ô] Povoando o ListView
For LN = 0 To Ds.Tables([Ô]Clientes[Ô]).Rows.Count - 1
With Lv2
.Items.Add(Ds.Tables([Ô]Clientes[Ô]).Rows(LN)([Ô]Nome[Ô]))
.Items(LN).SubItems.Add(Ds.Tables([Ô]Clientes[Ô]).Rows(LN)([Ô]Endereco[Ô]))
.Items(LN).SubItems.Add(Ds.Tables([Ô]Clientes[Ô]).Rows(LN)([Ô]Cidade[Ô]))
End With
Next
End Using
End Using
End Using
End Using
End Sub
Beleza ?!
Tira o apostrofo, deixe apenas as aspas.
O correto mesmo, é usar parâmetros e não concatenar uma string para formar o comando SQL. Assim, não precisa se preocupar com esse tipo de problema, além de um monte de outras vantagens.
Como o KERPLUNK, disse, não tenho um VS aqui para testar, mas acho que fica +/- assim.
Dim Inserir As New OleDbCommand([Ô]INSERT INTO CLIENTES(NOME,ENDERECO,CIDADE)[Ô] & _
[Ô]VALUES(@Nome, @Endereco, @Cidade[Ô])
Inserir.Parameters.AddWithValue([Ô]@Nome[Ô], TxtNome.Text)
Inserir.Parameters.AddWithValue([Ô]@Endereco[Ô], txtEnd.text)
Inserir.Parameters.AddWithValue([Ô]@Cidade[Ô], txtCidade.text)
Dim Con2 As New OleDbConnection(Scon)
Con2.Open()
Dim Cmd2 As New OleDbCommand(Inserir, Con2)
Cmd2.ExecuteNonQuery()
MessageBox.Show([Ô]Dados Salvos com Sucesso ![Ô], [Ô]VB.NET 2010[Ô], 0, MessageBoxIcon.Information)
ALTAIR148 : Cara, fiquei curioso...onde posso ter uma explicação detalhada do uso desse [Ô]@[Ô] antes dos campos, e desse [Ô]Parameters[Ô] ???
Gosto de aprender, e não de colar script dos outros e confesso que não conheço esse modo...tudo que aprendà em programação foi na NET então já viu né, leva um pouquinho de tempo para assimilar 100%...mas tenho vontade !
se puder me orientar sobre isso ou me passar algum link que fale detalhado sobre isso eu agradeço !
Gosto de aprender, e não de colar script dos outros e confesso que não conheço esse modo...tudo que aprendà em programação foi na NET então já viu né, leva um pouquinho de tempo para assimilar 100%...mas tenho vontade !
se puder me orientar sobre isso ou me passar algum link que fale detalhado sobre isso eu agradeço !
Experimente usar DOIS APOSTROFOS no lugar onde deve ter SOMENTE UM.
Exemplo:
[txt-size=2]INSERT INTO Cliente (IDCliente, Nome)
VALUES (1001, [ô]Joana D[ô][ô]arc[ô])[/txt-size]
Exemplo:
[txt-size=2]INSERT INTO Cliente (IDCliente, Nome)
VALUES (1001, [ô]Joana D[ô][ô]arc[ô])[/txt-size]
oh chegado, tipo eu sei mas não sei te explicar exatamente. Dizem que fica bem melhor passando parâmetros ao invés da string.
é pessoal...no VB-6 faço assim e dá certinho certinho:
Então basta passa para VB.NET...concordam ???
Sub Inserir_Dados()
Abrir_Conexao
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
Rs.CursorLocation = adUseServer
Rs.Open [Ô]SELECT * FROM Dados[Ô], ObjCon, adOpenStatic, adLockOptimistic
Rs.AddNew
Rs!Empresa = txt_Empresa.Text
Rs!Custo = txt_Custo.Text
Rs.Update
Rs.Close
ObjCon.Close
MsgBox [Ô]Dados Salvos.[Ô], vbInformation, [Ô]Informação.[Ô]
Limpar_Caixas
End Sub
Então basta passa para VB.NET...concordam ???
Tópico encerrado , respostas não são mais permitidas