在C#中使用sql和调用标签调用数据库。
所以我有一些代码,可以从数据库中调用一个字符串,这个字符串非常适合我的标签,但当我尝试调用一个整数时,它就不起作用了。如何将下面的代码重新格式化为整数在C#中使用sql和调用标签调用数据库。,c#,.net,sql,integer,label,C#,.net,Sql,Integer,Label,所以我有一些代码,可以从数据库中调用一个字符串,这个字符串非常适合我的标签,但当我尝试调用一个整数时,它就不起作用了。如何将下面的代码重新格式化为整数 string MoneySaved = null; string sql = "Select Distinct(Tester) From VExecutionGlobalHistory Where Tester = 'strUserName'"; string connString = "myconnect
string MoneySaved = null;
string sql = "Select Distinct(Tester) From VExecutionGlobalHistory Where Tester = 'strUserName'";
string connString = "myconnectionstringgoeshere";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand command = new SqlCommand(sql, conn))
{
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
MoneySaved = reader[0] as string;
MoneySavedLabel.Text = MoneySaved;
//break for single row or you can continue if you have multiple rows...
break;
}
}
conn.Close();
}
以下是有效的方法:
string MoneySaved = null;
string sql = "Select Distinct(Tester) From VExecutionGlobalHistory Where Tester = 'strUserName'";
string connString = "myconnectionstringgoeshere";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand command = new SqlCommand(sql, conn))
{
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
MoneySaved = reader[0].ToString();
MoneySavedLabel.Text = MoneySaved;
//break for single row or you can continue if you have multiple rows...
break;
}
}
conn.Close();
}
您是否尝试过MoneySaved=reader[0].ToString();?很好,谢谢。你能解释一下发生了什么吗?我从来没有尝试过使用“as string”,所以我不知道该怎么做。ToString是.net中提供的返回整数或其他对象的字符串表示形式的方法。很高兴它能工作。
作为字符串
意味着读取器[0]
必须已经是字符串
ToString()
通过转换将对象
(这是您真正拥有的)强制转换为字符串
。您还可以执行更直接的操作,例如reader.GetSqlString(0)代码>区别仍然在于您是否知道从正在获取的列中期望得到什么。如果它有问题,或者完全未知,那么ToString()
可能是最安全的。