提问人:Edison Balangue Feraro 提问时间:5/11/2023 最后编辑:Edison Balangue Feraro 更新时间:6/16/2023 访问量:84
在限制 sql 查询中使用文本框
Using textbox in limit sql query
问:
通常我一直在使用这些语句并且它有效:
"SELECT * FROM tablename LIMIT 10"
我已经试过了,但它有错误,说 sql 语法错误
"SELECT * FROM tablename LIMIT '" + TextBox1.Text + "' "
答:
0赞
Andrew Morton
5/11/2023
#1
看看第一个有效的语句没有引号,而第二个不起作用的语句是如何的?您需要遵循第一个的模式。
但是,您需要将 TextBox1.Text 解析为整数并将其连接到字符串中以防止 SQL 注入攻击,因此...
Dim lim = Integer.Parse(TextBox1.Text)
Dim sql = "SELECT * FROM [tablename] LIMIT " & lim
您可能希望改用 TryParse 来检查是否提供了有效数字。
(此外,VB.NET 中的字符串连接运算符是 ,而不是 。&
+
评论
0赞
Edison Balangue Feraro
5/11/2023
对不起,我的错,我已经编辑了我的帖子。关于您粘贴的代码,我尝试使用它。虽然我收到这个错误。“System.FormatException:'输入字符串的格式不正确。'
0赞
Andrew Morton
5/11/2023
@EdisonBalangueFeraro 该错误消息意味着它无法将 TextBox1.Text 分析为整数。那个文本框中有什么?
0赞
Edison Balangue Feraro
5/11/2023
我明白了,兄弟。因此,文本框的值来自数据库。所以我的代码安排是表单加载。上面的代码位于代码的第一行中,从数据库提取数据到文本框的代码如下。因此,当表单加载时,它会加载上面的第一个代码。因为文本框默认值上没有任何内容。我收到“输入字符串格式不正确”错误。
0赞
Andrew Morton
5/12/2023
@EdisonBalangueFeraro 在这种情况下,tt 最好不要使用 TextBox 来存储值 - 只需使用普通变量来存储它。当然,如果对用户有用,您仍然可以在 TextBox 中显示该值。
评论