ERRO AO ENVIAR VALOR TRUE PARA SQL SERVER 2008
Olá pessoal,
estou tendo um pequeno probleminha com dois campos do SQL Server
Eu to criando uma lista de presença e preciso inserir dois campos de valor true ou false no sql server.
Criei esses campos como [ô]bit[ô] no sql.
E no VB.Net criei como boolean.
O problema é que quando eu envio true ao sql server ele me volta a seguinte mensagem:
Invalid column name [ô]True[ô].
Invalid column name [ô]True[ô].
Obrigado.
estou tendo um pequeno probleminha com dois campos do SQL Server
Eu to criando uma lista de presença e preciso inserir dois campos de valor true ou false no sql server.
Criei esses campos como [ô]bit[ô] no sql.
E no VB.Net criei como boolean.
O problema é que quando eu envio true ao sql server ele me volta a seguinte mensagem:
Invalid column name [ô]True[ô].
Invalid column name [ô]True[ô].
Obrigado.
posta o código amigo.
Imports ListaDePresença.Uteis
Public Class principalForm
Dim tabela As New Tabela
Dim mintCodigo As Int32 = tabela.Codigo
Dim mstrNome As String = tabela.Nome
Dim mblnPresente As Boolean = tabela.Presente
Dim mblnAcompanhante As Boolean = tabela.Acompanhante
Dim mstrNomeDoAcompanhante As String = Tabela.NomeDoAcompanhante
Private Sub principalForm_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim lstrSERVER As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]SERVER[Ô])
Dim lstrBASE As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]BASE[Ô])
Dim lstrID As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]ID[Ô])
Dim lstrSENHA As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]SENHA[Ô])
gstrConnectionStrings = String.Format([Ô]Server={0};Database={1};User Id={2};Password={3};[Ô], _
lstrSERVER, _
lstrBASE, _
lstrID, _
lstrSENHA)
nomeTextBox.Focus()
End Sub
Private Sub nomeTextBox_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles nomeTextBox.KeyUp
If nomeTextBox.Text = String.Empty Then
convidadosDataGridView.Columns.Clear()
Return
End If
Pesquisar()
End Sub
Private Sub Pesquisar()
Try
Dim pesquisa As DataTable = AcessoDB.ExecuteDataSet(String.Format([Ô]SELECT * FROM CONVIDADOS WHERE NOME LIKE [ô]{0}%[ô][Ô], nomeTextBox.Text.Replace([Ô][ô][Ô], [Ô][ô][ô][Ô]))).Tables(0)
mintCodigo = pesquisa.Rows(0)([Ô]CODIGO[Ô])
mstrNome = pesquisa.Rows(0)([Ô]NOME[Ô])
mblnPresente = pesquisa.Rows(0)([Ô]PRESENTE[Ô])
mblnAcompanhante = pesquisa.Rows(0)([Ô]ACOMPANHANTE[Ô])
mstrNomeDoAcompanhante = pesquisa.Rows(0)([Ô]NOME_DO_ACOMPANHANTE[Ô]).ToString
convidadosDataGridView.DataSource = pesquisa
Catch ex As Exception
If ex.Message.ToString.Contains([Ô]There is no row[Ô]) Then
convidadosDataGridView.Columns.Clear()
End If
End Try
End Sub
Private Sub confirmarButton_Click(sender As System.Object, e As System.EventArgs) Handles confirmarButton.Click
Dados()
End Sub
Private Sub Dados()
Try
mblnPresente = True
mintCodigo = convidadosDataGridView.CurrentRow.Cells(0).Value
mblnAcompanhante = acompanhanteCheckBox.Checked
mstrNomeDoAcompanhante = nomeAcompanhanteTextBox.Text
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
Confirmar()
End Sub
Private Sub Confirmar()
Try
AcessoDB.ExecuteNonQuery(String.Format([Ô]UPDATE CONVIDADOS SET PRESENTE = {0}, ACOMPANHANTE = {1}, NOME_DO_ACOMPANHANTE = [ô]{2}[ô] WHERE codigo = {3}[Ô], _
mblnPresente, _
mblnAcompanhante, _
mstrNomeDoAcompanhante.ToString, _
mintCodigo))
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
Public Class principalForm
Dim tabela As New Tabela
Dim mintCodigo As Int32 = tabela.Codigo
Dim mstrNome As String = tabela.Nome
Dim mblnPresente As Boolean = tabela.Presente
Dim mblnAcompanhante As Boolean = tabela.Acompanhante
Dim mstrNomeDoAcompanhante As String = Tabela.NomeDoAcompanhante
Private Sub principalForm_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim lstrSERVER As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]SERVER[Ô])
Dim lstrBASE As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]BASE[Ô])
Dim lstrID As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]ID[Ô])
Dim lstrSENHA As String = GetConteudoXML(String.Concat(Application.StartupPath, [Ô]\Config.xml[Ô]), [Ô]INC[Ô], [Ô]ESTRUTURA[Ô], [Ô]SENHA[Ô])
gstrConnectionStrings = String.Format([Ô]Server={0};Database={1};User Id={2};Password={3};[Ô], _
lstrSERVER, _
lstrBASE, _
lstrID, _
lstrSENHA)
nomeTextBox.Focus()
End Sub
Private Sub nomeTextBox_KeyUp(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles nomeTextBox.KeyUp
If nomeTextBox.Text = String.Empty Then
convidadosDataGridView.Columns.Clear()
Return
End If
Pesquisar()
End Sub
Private Sub Pesquisar()
Try
Dim pesquisa As DataTable = AcessoDB.ExecuteDataSet(String.Format([Ô]SELECT * FROM CONVIDADOS WHERE NOME LIKE [ô]{0}%[ô][Ô], nomeTextBox.Text.Replace([Ô][ô][Ô], [Ô][ô][ô][Ô]))).Tables(0)
mintCodigo = pesquisa.Rows(0)([Ô]CODIGO[Ô])
mstrNome = pesquisa.Rows(0)([Ô]NOME[Ô])
mblnPresente = pesquisa.Rows(0)([Ô]PRESENTE[Ô])
mblnAcompanhante = pesquisa.Rows(0)([Ô]ACOMPANHANTE[Ô])
mstrNomeDoAcompanhante = pesquisa.Rows(0)([Ô]NOME_DO_ACOMPANHANTE[Ô]).ToString
convidadosDataGridView.DataSource = pesquisa
Catch ex As Exception
If ex.Message.ToString.Contains([Ô]There is no row[Ô]) Then
convidadosDataGridView.Columns.Clear()
End If
End Try
End Sub
Private Sub confirmarButton_Click(sender As System.Object, e As System.EventArgs) Handles confirmarButton.Click
Dados()
End Sub
Private Sub Dados()
Try
mblnPresente = True
mintCodigo = convidadosDataGridView.CurrentRow.Cells(0).Value
mblnAcompanhante = acompanhanteCheckBox.Checked
mstrNomeDoAcompanhante = nomeAcompanhanteTextBox.Text
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
Confirmar()
End Sub
Private Sub Confirmar()
Try
AcessoDB.ExecuteNonQuery(String.Format([Ô]UPDATE CONVIDADOS SET PRESENTE = {0}, ACOMPANHANTE = {1}, NOME_DO_ACOMPANHANTE = [ô]{2}[ô] WHERE codigo = {3}[Ô], _
mblnPresente, _
mblnAcompanhante, _
mstrNomeDoAcompanhante.ToString, _
mintCodigo))
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
envie 1 ou 0 no lugar de True ou False
Tenta formatar a String fora da SQL.
Antes de executar a string eu fiz isso
If mblnPresente = [Ô]True[Ô] Then
mblnPresente = 1
Else
mblnPresente = 0
End If
If mblnAcompanhante = [Ô]true[Ô] Then
mblnPresente = 1
Else
mblnAcompanhante = 0
End If
Mas não mudou nada
If mblnPresente = [Ô]True[Ô] Then
mblnPresente = 1
Else
mblnPresente = 0
End If
If mblnAcompanhante = [Ô]true[Ô] Then
mblnPresente = 1
Else
mblnAcompanhante = 0
End If
Mas não mudou nada
Consegui... alterei o tipo de dados de mblnPresente e mblnAcompanhante para String.
Valeu.
Valeu.
Tópico encerrado , respostas não são mais permitidas