' 455555'附近的语法不正确 - 当我尝试搜索数据库时

时间:2015-06-29 16:03:45

标签: c# sql database syntax

我的表格上有一个SEARCH字段,我有两个radionbuttons,一个名为RG,另一个名为NOME,基本上这些是搜索条件:名称或RG。按名称搜索工作正常,但搜索RG返回错误。以下是代码。

                if (rdbPorRG.Checked) // Faz consulta com o RG
                {
                    if (txtPesquisar.Text == "")
                    {
                        MessageBox.Show("Favor escolher um parâmetro de busca \r\n" + "e preencher o campo de pesquisa \r\n" + "para efetuar a consulta.", "Consultar Item", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    else
                    {
                        txtPesquisar.ReadOnly = true;
                        CmSQL.Remove(0, CmSQL.Length);
                        CmSQL.Append("SELECT * FROM TB_CADASTRO ");
                        CmSQL.Append("WHERE RG = " + Convert.ToInt64(txtPesquisar.Text) + " ");
                        SDR = clsConexao.ExecutarDataReader(CmSQL.ToString());

                        if (!SDR.Read()) // Lê os dados resgatados e exibe para o usuário.
                        {
                            MessageBox.Show("RG não encontrado.", "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtPesquisar.Clear(); txtPesquisar.Focus(); txtPesquisar.ReadOnly = false;
                            return;
                        }
                        else
                        {
                            DS = clsConexao.ExecutarDataSet("SELECT ID, RG, NOME, ITENS_DOADOS AS 'ITENS DOADOS' FROM TB_CADASTRO WHERE RG " + Convert.ToInt64(txtPesquisar.Text) + " "); // Seleciona TUDO que está na tabela aluno no Banco de Dados.
                            DT = DS.Tables[0]; // Extrai a tabela 0 do DATASET
                            dgvRegistros.DataSource = DT;
                            txtPesquisar.ReadOnly = false;
                        }
                    }
                }

1 个答案:

答案 0 :(得分:2)

好像这一行

DS = clsConexao.ExecutarDataSet("SELECT ID, RG, NOME, ITENS_DOADOS AS 'ITENS DOADOS' FROM TB_CADASTRO WHERE RG " + Convert.ToInt64(txtPesquisar.Text) + " ");

缺少" ="在其where子句上签名。尝试

SELECT ID, RG, NOME, ITENS_DOADOS AS 'ITENS DOADOS' FROM TB_CADASTRO WHERE RG = " + Convert.ToInt64(txtPesquisar.Text) + " "