c# - 无法使用文本框输入进行查询

标签 c# mysql

我试图允许用户在文本框中输入详细信息并使用该信息来运行 SQL 查询。当我对所有内容进行硬编码时,它会起作用,例如:

string query = "SELECT * FROM PERSONS WHERE Name='Samuel'";

当我尝试按如下方式使用文本框时,它会返回错误。我肯定在文本框中输入了正确的名字塞缪尔。我运行了一个消息框来检查文本框是否正确注册了名称,是的,它是正确的。如果您看到有什么不对的地方请指教。谢谢。

name = textbox4.Text;
MessageBox.Show(name);
string query = "SELECT * FROM PERSONS WHERE Name=" + name;

最佳答案

什么语言? C#?

string query = string.Format("SELECT * FROM PERSONS WHERE Name = '{0}'", SanitizeSql(name));

或者你可以很酷地使用 https://github.com/markrendle/Simple.Data那么它就只是

IEnumerable<Person> people = db.Persons.FindAllByName(name);

这也可以处理 SQL 注入(inject)并且与数据库无关(因此您可以从 MSSQL 切换到 MySQL 再到 MongoDB...)

关于c# - 无法使用文本框输入进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22999282/

相关文章:

c# - 创建新流程是否有助于我遍历一棵大树?

c# - 从字典中删除最旧的项目

mysql - 使用 max 函数,group by 和 join

mysql - 相当于 MySQL DATE_FORMAT() 的 SQL Server

php - 删除MySQL表中的重复行但存在外键关系?

php - 类别帖子数

C# - 无法使用 new SqlConnection() 连接到本地 ACCDB 文件

c# - 如何在 C# 中构建通用方法来查询给定 Azure 表中的分区

c# - 如何检查 Button.Tag 的首字母?

MySQL for Visual Studio 安装失败,错误代码 1603