我想从表中检索值。请大家帮帮我 问题是我想获得该值并使用字符串值检查它。
此代码无效:
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();
}
答案 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
。