我的表格上有一个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;
}
}
}
答案 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) + " "