如何为访问表整数值选择查询?

时间:2014-04-19 06:25:38

标签: c# ms-access

我正在使用vs2010和访问表。我希望有一个带有整数值的Select Query。但我收到的错误是" DataType Mismatch"错误。有人能告诉我一个正确的吗?

我的代码

SvINVNo = 0;
SvINVNo = Convert.ToInt32(richTextBox1.Text);
String SelctInvQury = "Select * from invoicemst where invoice_no= ' "&SvINVNo &" '";

3 个答案:

答案 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 &"