c# - C#如何在数据库中搜索字符串

标签 c# c#-4.0 c#-3.0 facebook-c#-sdk c#-2.0

这是用于进行搜索的代码

 private void button1_Click(object sender, EventArgs e)
    {
        string connectionString = Tyre.Properties.Settings.Default.Database1ConnectionString;
        SqlConnection conn = new SqlConnection(connectionString);
        DataTable dt = new DataTable();
        SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM table1 where Nom like " + textBox1.Text, conn);
        SDA.Fill(dt);
        dataGridView1.DataSource = dt;
    }

我得到这个错误

System.Data.dll 中发生类型为“System.Data.SqlClient.SqlException”的未处理异常

附加信息:列名称“elie”无效。

那是我的应用程序的一个例子: enter image description here Click here to see the image

最佳答案

首先,您的代码对 SQL Injection 是完全开放的.您允许用户插入他想要的任何数据,包括

; DROP TABLE table1

要解决眼前的问题,请将要匹配的项目用单引号和 % 符号括起来:

"SELECT * FROM table1 where Nom like '%" + textBox1.Text + "%'"

但是,您绝对应该考虑使用 parameterized query .

关于c# - C#如何在数据库中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14695282/

相关文章:

c# - 混合模式程序集是针对旧版本的运行时构建的,如果没有额外的配置就无法加载

c# - 在项目之间共享对象和信息

.net - .net 4.5 中是否没有 MSMQ 发送的异步实现

c# - Wix:托管 BA 命令行无效

JavaScript 错误(Microsoft JScript 运行时错误 : Object expected)

entity-framework - ExecuteStoreQuery 返回多行如何将其放入 IList 或 List

c# - 停止循环 C#?

xaml - 如何检查应用程序是否是首次在xamarin crosspaltform中运行

c# - 如何在 DropDownList 中保留空格 - ASP.net MVC Razor View

c# - 当远程 SQL Server 数据库的 scaffold-DbContext 时,构建失败