我正在使用vs2010和访问表。我希望有一个带有整数值的Select Query。但我收到的错误是" DataType Mismatch"错误。有人能告诉我一个正确的吗?
我的代码
SvINVNo = 0;
SvINVNo = Convert.ToInt32(richTextBox1.Text);
String SelctInvQury = "Select * from invoicemst where invoice_no= ' "&SvINVNo &" '";
答案 0 :(得分:2)
因为假设invoice_no
是一个整数,您需要将其与字符串进行比较。更改您的查询以删除单引号:
String SelctInvQury = "Select * from invoicemst where invoice_no="+ SvINVNo;
那说你的参数是一个数字,但它来自一个RTF控件。这样对吗?此外,您不会检查用户输入,因此如果它不是整数,则会抛出异常。 IMO要处理得更好(无效的用户输入是常见的情况):
int SvINVNo;
if (!Int32.TryParse(richTextBox1.Text, out SvINVNo)) {
// Invalid user input
}
else {
String SelctInvQury = "Select * from invoicemst where invoice_no="+ SvINVNo;
}
答案 1 :(得分:2)
我认为你应该这样做
String SelctInvQury = string.Format("Select * from invoicemst where invoice_no= {0} ", SvINVNo) ;
答案 2 :(得分:-1)
使用
Select * from invoicemst where invoice_no="& SvINVNo &"