none
SqlDataReader读取存在的数据为空! RRS feed

  • 问题

  • 数据项是有的:

    代码如下:

                    SqlConnection connection = new SqlConnection(Sql_Connection_Strings);
                    connection.Open();
                    
                    string sql_command = "SELECT * FROM PubUserInfo WHERE (UserName = '王金虎')"; 
                    SqlCommand command = new SqlCommand(sql_command, connection);
                    SqlDataReader sql_Data = command.ExecuteReader();

                    while (sql_Data.Read())
                    {
                        MessageBox.Show(sql_Data["CarBrand"].ToString());
                        break;
                    }

    CarBrand项就是空的!

    求助!谢谢!!

    ps:

    数据库是SQL,CarBrand项的类型是字符串

    MsgBox弹出无内容!

    2012年3月16日 4:44

答案

  • 数据库是SQL,CarBrand项的类型是字符串

    MsgBox弹出无内容!

    这样尝试:

    SqlConnection connection = new SqlConnection(Sql_Connection_Strings);
                    connection.Open();
                    
                    string sql_command = "SELECT Top 1 * FROM PubUserInfo WHERE ([UserName] = '王金虎')"; 
                    SqlCommand command = new SqlCommand(sql_command, connection);
                    SqlDataReader sql_Data = command.ExecuteReader();

                    if (sql_Data.Read()) 
                    {
                        MessageBox.Show(sql_Data["CarBrand"].ToString());
                        break;
                    }

    并且请确认:UserName是varchar而不是char,防止后面有空格。另外你的数据库字符串链接确定是指向了这个可以查询得到的数据库?

    • 已标记为答案 senic_sum 2012年3月16日 8:07
    2012年3月16日 6:20

全部回复

  • 请问你的数据库是SQL还是Access?另外你的“CarBrand”是什么类型?另外“空的”的意思是说MsgBox弹出就是空白?
    2012年3月16日 5:00
  • 数据库是SQL,CarBrand项的类型是字符串

    MsgBox弹出无内容!

    2012年3月16日 5:03
  • 数据库是SQL,CarBrand项的类型是字符串

    MsgBox弹出无内容!

    这样尝试:

    SqlConnection connection = new SqlConnection(Sql_Connection_Strings);
                    connection.Open();
                    
                    string sql_command = "SELECT Top 1 * FROM PubUserInfo WHERE ([UserName] = '王金虎')"; 
                    SqlCommand command = new SqlCommand(sql_command, connection);
                    SqlDataReader sql_Data = command.ExecuteReader();

                    if (sql_Data.Read()) 
                    {
                        MessageBox.Show(sql_Data["CarBrand"].ToString());
                        break;
                    }

    并且请确认:UserName是varchar而不是char,防止后面有空格。另外你的数据库字符串链接确定是指向了这个可以查询得到的数据库?

    • 已标记为答案 senic_sum 2012年3月16日 8:07
    2012年3月16日 6:20
  • 问题找到了!

    谢谢!

    2012年3月16日 8:07
  • 问题找到了!

    谢谢!

    什么问题?!
    2012年3月24日 8:15