我正在使用C#和SQL Sever 2008,当我尝试创建用于搜索记录的命令时,出现异常,提示“无效的列名”

这是我的代码:

void cari()
        {
            koneksi.Open();
            DataTable dt = new DataTable();
            SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM jadwalkuliah where Subject = "+ textBox1.Text, koneksi);
            SDA.Fill(dt);
            koneksi.Close();

            dataGridView1.DataSource = dt;
        }`


search命令应该可以用作搜索引擎,有人可以帮助我吗?

最佳答案

您尚未引用subject的值:

SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM jadwalkuliah where Subject = '"+ textBox1.Text + "'",


koneksi);

或包含搜索:
    SqlDataAdapter SDA =新的SqlDataAdapter(“ SELECT * FROM jadwalkuliah,其中Subject ='%” + textBox1.Text +“%'”,koneksi);

您不应该以这种方式构建查询。它容易受到SQL injection attacks的影响。

关于c# - 实现搜索按钮时列名无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11773384/

10-10 16:45