从数据库中检索值并将其分配给字符串变量C#

时间:2012-11-21 10:42:56

标签: c# sql .net windows-mobile-6

我想从表中检索值。请大家帮帮我 问题是我想获得该值并使用字符串值检查它。

此代码无效:

SqlCeCommand cmd1 = new SqlCeCommand("SELECT username FROM tmpusername WHERE _id=1", connection);

SqlCeDataReader usernameRdr = null;

usernameRdr = cmd1.ExecuteReader();

while (usernameRdr.Read()){
    string username11 = usernameRdr["username11"].ToString(); 
}

5 个答案:

答案 0 :(得分:2)

使用username访问列。

string username11 = usernameRdr["username"].ToString(); 

您的选择命令指定Select username,稍后您将使用username11访问它。这就是为什么你没有得到价值,而是你应该得到一个例外。

答案 1 :(得分:1)

将其更改为:

string username11 = usernameRdr["username"].ToString(); 

数据读取器索引器在SQL查询中获取SQL结果集中列的名称,即“SELECT username ...”。

答案 2 :(得分:1)

您可能想要查看 dataReader 是否首先返回任何行,以防止从数据库返回空值,这可能会导致NullReferenceException,因此请使用以下内容;

  
    

string username11 = string.empty;

  
if (usernameRdr.hasRows)
{
while (reader.Read())
{
username11=usernameRdr["username"].ToString();
}
}

答案 3 :(得分:0)

用于处理空值的

更改为,

string username11 = Convert.ToString(usernameRdr["username"]); 

答案 4 :(得分:0)

string username11 = (string)usernameRdr["username"];

您输入了错误的列名username11而不是username