我有一个数据集,其中只有一个值,将单个值输出到整数的最佳方法是什么?
答案 0 :(得分:6)
// setup sql command and sql connection etc first...
int count = (int) cmd.ExecuteScalar();
答案 1 :(得分:4)
查看C#3.0“扩展方法”的新功能 您可以为任何类定义自己的扩展方法。 例如:
namespace MyEx;
public static class MyExtensions
{
public static object SingleValue(this DataSet ds)
{
return ds.Tables[0].Rows[0][0];
}
}
您可以使用它之后:
using MyEx;
public class Class1
{
public void Test()
{
DataSet ds = new DataSet();
object value = ds.SingleValue();
}
}
答案 2 :(得分:1)
if (ds.Tables[0].Rows.Count > 0) {
int i = Convert.ToInt32(ds.Tables[0].Rows[0]["colname"]);
}
答案 3 :(得分:0)
最好的方法是不在数据集中写入单个值。
但如果你不能避免它:
try
{
//if the value is coming back as string
int value1 = Int32.Parse(ds.Tables[0].Rows[0][0].ToString());
//if the value is already an integer
int value2 = (int)ds.Tables[0].Rows[0][0];
}
catch(Exception ex)
{
throw new Exception("You do not have even a single value in the DataSet or its not an integer!", ex);
}
答案 4 :(得分:0)
你可以这样做:
dt = ds.Tables["TableName"];
Convert.ToInt32(dt.Rows[rowNumber]["ColumnName"].ToString());
答案 5 :(得分:0)
你可以这样做......
int myVar =
Convert.ToInt32(dsMyDataSet.Tables["MyTable"].Rows[intRowPos]["MyColumn"].Tostring());