C#如何将数据库中的字符串赋给一个字符串变量

stringconnstring="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+System.Windows.Forms.... string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "\\DB\\book.mdb";
string sqlstring = "select * from Book_INFO ";
OleDbConnection oldconn = new OleDbConnection(connstring);
oldconn.Open();

OleDbDataAdapter oda = new OleDbDataAdapter(sqlstring, connstring);
DataSet ds = new DataSet();
oda.Fill(ds, "Book_INFO");
下面的代码应该怎么写啊?
将string myStr = ds.Tables["Book_INFO"][0]["列名"].ToString(); 有错误提示啊!
无法将带 [] 的索引应用于“System.Data.DataTable”类型的表达式
展开
 我来答
2known
2009-02-25 · TA获得超过1334个赞
知道小有建树答主
回答量:511
采纳率:100%
帮助的人:354万
展开全部
ds 作为 DataSet 类的对象,每一个 ds 可以包含多个 Table

所以 ds.Tables["Book_INFO"]就是你获得的数据表了,对应 C# 中 DataTable类的对象,可以这样 DataTable myDT = ds.Tables["Book_INFO"];

对于 每一个 DataTable 的对象,可以理解成是一个 2 维的数组,不过每一列都可能是不同的基础数据类型。

想读取哪一行哪一列可以用列名或者索引的形式
string myStr = ds.Tables["Book_INFO"].Rows[0][0].ToString();
或者
string myStr = ds.Tables["Book_INFO"].Rows[0]["列名"].ToString();

如果需要遍历行的话,可以使用循环,最简单的方法是
for(i = 0; i < ds.Tables["Book_INFO"].Rows.Count; i++){
string myStr = ds.Tables["Book_INFO"].Rows[i][0].ToString();
// 或者
// string myStr = ds.Tables["Book_INFO"].Rows[i]["列名"].ToString();
}

如果需要遍历列的话,就设置2层循环。
蟹蟹的影子
2009-02-25 · TA获得超过658个赞
知道小有建树答主
回答量:541
采纳率:0%
帮助的人:376万
展开全部
string str="";
foreach(DataRow row in ds.Table["Book_INFO"].Rows)
{
str=row["列名"].ToString();
}

是不是要将数据库中的某个字段的值赋给一个字符串类型变量?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lackyhuang
2009-02-25 · TA获得超过633个赞
知道小有建树答主
回答量:813
采纳率:0%
帮助的人:865万
展开全部
取其中某一个查询的出来的值:ds.Table["BOOK_INFO"].ROWS[i].Columns[j].tostring()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式