“455555”附近的语法不正确 - 当我尝试搜索数据库时
Incorrect syntax near '455555' - When i try to search on database
我的表单上有一个“搜索”字段,我有两个单选按钮,一个称为 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;
}
}
}
好像是这条线
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) + " "
我的表单上有一个“搜索”字段,我有两个单选按钮,一个称为 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;
}
}
}
好像是这条线
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) + " "