C#中如何获取Table的某个字段的值?(类似于Delphi的Query.FieldByName('X').AsString)(50分)

  • 主题发起人 主题发起人 DF7C3
  • 开始时间 开始时间
D

DF7C3

Unregistered / Unconfirmed
GUEST, unregistred user!
C#(Visual Studio 2005)中如何根据字段名获取
Table的[red]当前行[/red]的某个字段的值?
(类似于Delphi的Query.FieldByName('X').AsString)
 
...
SqlDataReader thisReader = thisCommand.ExecuteReader();
...
thisReader.Read();
string CompanyName=thisReader["CompanyName"];
thisReader.Close();
 
Table中不能这么用,我想知道Table的怎么取。
 
TableName.Rows[0][0].ToString();
TableName.Rows[1]["X"].ToString();
行 列
 
那么行数是如何取得的呢,dataTable1BindingSource.Position?
 
for(int i = 0;
i < TableName.Rows.Count;
i++
{
//todo
}
 
我说的是如何取得当前行。
 
不知道你要东西是什么了,不过可以试试下面的方法(我没用试过)
TableName.Select()[0]
 
從數據集調到數據VIEW裏就可以了
 
TSQL sql = new TSQL(db);
string sSQLText = string.Format("select sum(FYBXDMX_YBFYJE) as JE from FYBXDMX where FYBXDMX_FYBXDID = :FYBXDMX_FYBXDID");
sql.Clear();
sql.Text = sSQLText;
sql.ParamByName("FYBXDMX_FYBXDID").Value = txtBXDID.Text.ToString().Trim();
DataSet ds = db.OpenDataSet(sql);
string sJE = "";
if (ds.Tables[0].Rows.Count > 0)
{
sJE = ds.Tables[0].Rows[0]["JE"].ToString().Trim();
}
 
要用強類型的Dataset好多了。
 
ADO.net的datatable没有当前行的概念,可以把结果集看成一个数组.
 
那怎么取得DataGrid的光标所在行的数据呢?通过dataTable1BindingSource.Position?
 
你要摆脱delphi的思路,c#是不一样的,没有什么当前行。你可以在grid控件里写bind事件
 
1、c#的DataTable中没有当前行的概念,可以通过与之绑定的BindingSource获取当前行;
2、通过设置BindingSource的Position,指定位置;
3、通过BindingSource的Current获当前行,是个DataRowView类;
 
多人接受答案了。
 

Similar threads

回复
0
查看
987
不得闲
D
回复
0
查看
941
DelphiTeacher的专栏
D
D
回复
0
查看
880
DelphiTeacher的专栏
D
D
回复
0
查看
956
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
后退
顶部