首先,我下面用的SQL语句是正确的,应该返回记录集的(我在MS SQL上验证了的)
----------------------------------------------------------------------
在c#中一个delegate的模块中执行SQL语句:
select loadtime,lasttime from Character where Name ='azw'"
成功返回唯一的记录。
若执行:
select loadtime,lasttime from Character where Name ='qazwsxedcr'"
不成功。不返回记录。(实际上应该返回)
我检查了的,执行这个语句后,SQL日志里面已经记录下来了的,但是程序就是不返回记录集
也不存在SQL语句执行过程中截断等问题。我用的是下面的方法执行SQL命令的:
SqlConnection conn = new SqlConnection("Server=192.168.0.88;uid=sa;pwd=11111;database=qaz
conn.Open();
SqlCommand sqlCommand = new SqlCommand("select loadtime,lasttime from Character where Name ='qazwsxedcr'",conn);
SqlDataReader sqlReader = sqlCommand.ExecuteReader();
sqlReader.Read();
Int32 a = sqlReader.GetInt32(0);
MessageBox.Show(a.ToString());
sqlReader.Close();
-----------------------------------------------------------------------
把这个语句挪到一个单独的测试程序上,执行OK。

解决方案 »

  1.   

    你在sql server的查询分析器里执行下,看有没有数据
      

  2.   

    -----》你在sql server的查询分析器里执行下,看有没有数据
    有数据,是一条记录
      

  3.   

    请检查'qazwsxedcr'字符串前后是否有空格
      

  4.   

    实际上应该返回??真的?select loadtime,lasttime from Character where Name ='qazwsxedcr'
    把这个拿到查询分析器里.
      

  5.   

    不太可能吧是Name ='qazwsxedcr'
    的记录吗?
      

  6.   

    谢谢大家关心,bug找到了,不是sql语句的问题。实际上是一个sqlreader对象的问题。用的时候不能直接以为new出来就能用。好的习惯是在new之间要“=null”,这样,.net运行库才能最好的动态在堆中分配内存。谢谢大家关心。100分晚上有空了大家均分。