Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net “附近的语法错误”;名称“;_Vb.net_Sql Server 2008 - Fatal编程技术网

Vb.net “附近的语法错误”;名称“;

Vb.net “附近的语法错误”;名称“;,vb.net,sql-server-2008,Vb.net,Sql Server 2008,您错过了名称后面的等号 conn.Open() 'MsgBox("Established!!!") cmd.Connection = conn cmd.CommandText = "SELECT price FROM products WHERE name '" & tb_pname.Text & "'" dr = cmd.ExecuteReader While dr.Read Me.tb_price.Text = Convert.ToString(dr("price

您错过了名称后面的等号

conn.Open()
'MsgBox("Established!!!")

cmd.Connection = conn
cmd.CommandText = "SELECT price FROM products WHERE name '" & tb_pname.Text & "'"
dr = cmd.ExecuteReader

While dr.Read
    Me.tb_price.Text = Convert.ToString(dr("price"))
End While

conn.Close()

您正在运行错误的查询。您错过了
=
符号

这里是正确的查询

WHERE name = '" & tb_pname.Text & "'"

如果您需要查询不区分大小写,则可以使用WHERE-upper(name)=upper('YourString')进行查询

您还可以使用“like”操作符,其中使用“where name like‘PutYourTextHere’”,因此您还可以对任何字符串使用通配符,如%。 例如: 其中名为“%Thomson%” 将查找包含字符串“Thomson”的任何名称

cmd.CommandText = "SELECT price FROM products WHERE upper(name) = upper('" & tb_pname.Text & "')"

WHERE name=
在查询中遗漏了在name之后的等式first put'='。其次,请更改提问方式。提供更多详细信息。始终使用sql参数以防止sql注入。另外,如果要查找单个记录的
价格
-字段,为什么不使用
cmd.ExecuteScalar
?使用
While
-循环将文本分配给单个控件至少令人困惑。连接未关闭。连接的当前状态为打开。默认排序规则不区分大小写,因此在where谓词中添加UPPER可能会使此查询无故不可辩论。
cmd.CommandText = "SELECT price FROM products WHERE upper(name) = upper('" & tb_pname.Text & "')"
cmd.CommandText = "SELECT price FROM products WHERE name like '" & tb_pname.Text & "'"