我试图允许用户在文本框中输入详细信息并使用该信息来运行 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/