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

本文关键字:输入 查询 文本 | 更新日期: 2023-09-27 17:57:52

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

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

当我尝试按如下方式使用文本框时,它会返回一个错误。我肯定在文本框中输入了正确的名字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注入,并且与数据库无关(因此您可以从MSSQL切换到MySQL再切换到MongoDB…)

您忘记了引号。更改查询如下:

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

应该是

string query = "Select * From PERSONS Where name = '" + name + "'" ;

使用
name=txbox.Text;
dbLog.Open("SELECT * FROM Persons WHERE Name='" & name & "'", dbCon, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)