【发布时间】:2013-06-20 22:58:16
【问题描述】:
我正在尝试根据用户输入的值从两个独立但相关的表(它们之间有一个外键)中获取数据。以textBox11为例,如果输入值,我的SQL语句是:
SQLCommandText = "select Invoice_Name.Inv_Nu, Invoice_Name.Price, Invoice_Name.IDate, AddInfo.Case_Nu, AddInfo.PaperName, AddInfo.Page_Nu, AddInfo.Case_Type, AddInfo.Size from Invoice_Name full outer join AddInfo on Invoice_Name.L_Name = " + "'" + textBox11.Text + "'";
这似乎无法正常工作,我似乎无法找出原因。
我有两张桌子:
Invoice_Name
------------
Inv_Nu
L_Name
Price
IDate
AddInfo
-------
Inv_Nu
Case_Nu
PaperName
PageNumber
Case_Type
Size
我希望用户输入L_Name 并让程序返回 L_Name 等于该值的两个表中的所有信息。这里的外键是取自 Invoice_Name 表的 Inv_Nu。
测试数据:
Invoice_Name:
Inv_Nu | L_Name | Price | IDate
01064 | Rami Isleem | 215 | 19/6/2013
AddInfo:
Inv_Nu | Case_Nu | PaperName | Page_Nu | Case_Type | Size
01064 | 100/20 | Alra'i | 21 | abc | 2x8
【问题讨论】:
-
请告诉我们到底发生了什么!您是否收到错误消息?结果集是空的吗?是不完整的吗?你查案件吗?并被警告:这会打开很多潜在的 SQL 注入问题!!!
-
除非你能解释为什么你有一个完整的外连接,否则把它改成内连接。
-
不能解决您的问题,但仍然很重要:使用参数化查询来避免 SQL 注入!!!
-
似乎返回了我表中的所有数据
-
用户参数,你会平安。