我使用的是Access数据库,为什么同样的语句在SQLServer中能行在Access数据库中就不行呢。
而且在Access的分析器中也能执行,到了程序中就报“输入字符的格式不正确”。
具体的语句就是:
Select Count(*) as Col1 from Members Where MemID='4'
为什么这句话在Access中能执行,到了程序中就报“输入字符的格式不正确”,我用的C#语言。
MemID 数据类型:文本;字段大小:50C#中的代码:
string SQLStr="Select Count(*) as Col1 from Members Where MemID='"+MemID+"' ";其中MemID是string类型的;

解决方案 »

  1.   

    数据库中 MemID 是什么类型?
    建议将 string MenID 转化为int 再试一下
      

  2.   

    string SQLStr="Select Count(*) as Col1 from Members Where MemID='"+MemID+"' ";
    改为:
    string SQLStr="Select Count(*) as Col1 from Members Where MemID='"+MemID.ToString()+"' ";你的MemID类型不对...
      

  3.   

    把string SQLStr="Select Count(*) as Col1 from Members Where MemID='"+MemID+"' ";
    改为:string SQLStr="Select Count(*) as Col1 from Members Where [MemID]='"+MemID+"' ";
    看看!
      

  4.   

    string MenID 中或者含有空格,先转化为int
      

  5.   

    MemID 数据类型:文本;字段大小:50会不会因为你MemID里有这样的数据导致出错? "0000000000...00004" 转化为数字先大小为50,也太大了
      

  6.   

    string SQLStr="Select Count(*) as Col1 from Members Where MemID='"+MemID+"' ";
    改為string SQLStr="Select Count(*) as Col1 from Members Where MemID='"+MemID.ToString().Trim()+"' ";
      

  7.   

    把拼接后的SQLStr打印出来看看, 顺便把打印出来的SQLStr放在Access里面run一下
      

  8.   

    string sql = string.Format("select count(*) from Members where MemID='{0}'", MemID);