C#从SQL数据库中选择数据

时间:2017-06-07 12:25:33

标签: c# sql

在从我的数据库中选择数据时遇到问题,任何关于错误的线索,因为我已经盯着这个坚实的2个小时......(已经建立了一个可以编写和使用数据的登录系统但是无法搜索它) enter image description here

enter image description here

4 个答案:

答案 0 :(得分:2)

问题在于您尝试执行的SQL Query。

确保您传递的是正确的表名:

SELECT * FROM TABLE WHERE ...

是SQL Server中的关键字,因此在查询中不能像这样使用。

如果您在数据库中有一个表格,其名称为'表格'然后使用以下查询

    SELECT * FROM [TABLE] WHERE ...

答案 1 :(得分:2)

这里要考虑的事情很少:

  • 不要粘贴屏幕截图,复制/粘贴代码。它会更容易阅读,更容易复制和索引其他SO用户。
  • 不要将字符串连接为SQL命令,使用参数

您有语法错误,您的WHERE应该像WHERE Item = '" + textbox.Text + "'";

查询数据库的正确方法是进行参数化查询,如下所示:

SqlDataAdapter sda = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
cmd.Connection = search;
cmd.CommandText = "SELECT * FROM [Table] WHERE Item = @item";
cmd.Parameters.Add("@item", SqlDbType.NVarChar).Value = txtLogin.Text;

sda.SelectCommand = cmd;

[Table]Item应该是您尝试从中选择数据的表中的真实表名和列名。 我猜测在你的情况下,select应该是SELECT * FROM [Users] where Username = ...

答案 2 :(得分:1)

Table是SQL上的关键字,您无法按原样使用它。如果你确实将一个表命名为表,我强烈建议不要这样,你必须使用括号:

Select * from [Table]

答案 3 :(得分:0)

问题在于您尝试执行的SQL Query。

SELECT * FROM TABLE WHERE "condition";

使用该查询。