我试图将一个变量从visual C#中的数据源传递给变量,但代码没有返回任何值。
我用来提取值的代码是:
object o = rateTableDBDataSet1.Tables["RateTable"].Rows[1][0];
我得到一个回复,即位置1没有排。任何想法?
答案 0 :(得分:1)
我对你想要的东西感到有点困惑;
如果要将数据表的结构和数据复制到另一侧,请尝试复制方法:
System.Data.DataTable tb = new System.Data.DataTable();
System.Data.DataTable tb2 = new System.Data.DataTable();
object obj = new object();
obj = tb.Copy();//adding to obj if you want....
tb2 = tb.Copy();// of to another table without carrying the reference
编辑:
根据您的评论,这是您想要的示例:
DataSet rateTableDBDataSet1 = new DataSet();
//ds = whatever your data is comming from
bool doesItHaveData = rateTableDBDataSet1.Tables["RateTable"].Rows.Count > 0;
if (doesItHaveData)
{
object col1row1 = rateTableDBDataSet1.Tables["RateTable"].Rows[0][0];
object col2row1 = rateTableDBDataSet1.Tables["RateTable"].Rows[0][1];
object col1row2 = rateTableDBDataSet1.Tables["RateTable"].Rows[1][0];
}
您当前的错误可能是因为没有数据没有2条数据记录(您正在访问第1行而索引以0开头)
答案 1 :(得分:0)
首先,您需要弄清楚为什么'RateTable'中没有第二行。
通常,获取列值的代码是正确的。但是,通常更好的方法是按名称访问列。这更具可读性,如果列的顺序发生变化,则不易出错:
object o = rateTableDBDataSet1.Tables["RateTable"].Rows[0]["Column"]
“Column”是您的实际列名。
答案 2 :(得分:0)
public static decimal opcomm { get; set; }
public static decimal opcommPercentage { get; set; }
public static void SetOpCommission()
{
using (DataBaseClass dataclass = new DataBaseClass())
{
dataclass.Connect();
string sql = @"SELECT EmployeeComission, EmployeeComissionPercentage,MobileKindId,Id,StartDate FROM EmployeeCommission";
opcomm = (decimal)dataclass.ExecuteScalar(sql);
opcommPercentage = (decimal)dataclass.ExecuteScalar(sql);
}
}
答案 3 :(得分:0)
它表示名为RateTable
的数据表不包含任何带有行位置1的行。
实际上它代表的是
object o=dataset.tables[0].[rownumber][columnnumber/"columnname"];