ERRO AO ENVIAR VALOR TRUE PARA SQL SERVER 2008

LOPESKUTI 02/07/2012 16:25:38
#405351
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.
ALTAIR148 02/07/2012 16:31:27
#405352
Resposta escolhida
posta o código amigo.
LOPESKUTI 02/07/2012 16:35:11
#405353
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
LUIZCOMINO 02/07/2012 16:36:30
#405354
envie 1 ou 0 no lugar de True ou False
ALTAIR148 02/07/2012 16:51:11
#405357
Tenta formatar a String fora da SQL.
LOPESKUTI 02/07/2012 17:02:49
#405358
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
LOPESKUTI 02/07/2012 17:07:27
#405359
Consegui... alterei o tipo de dados de mblnPresente e mblnAcompanhante para String.
Valeu.
Tópico encerrado , respostas não são mais permitidas