在C#上读取SQLite,第一个reader正常,第二个怎么都读不出来~~~求高手指点

System.Data.SQLite.SQLiteConnectionconn=newSystem.Data.SQLite.SQLiteConnection();conn... System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();

conn.ConnectionString = DatabasePath;
conn.Open();
System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();
cmd.Connection = conn;
string sql;
sql = "SELECT * FROM ini";
cmd.CommandText = sql;
System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();
bool goahead = true;
string catname = "";
int imax=0;
string tabname = "";
while (reader.Read())
{
if (CSN == reader.GetInt16(0))
{
goahead = false;
tabname = reader.GetString(2);
this.Text = reader.GetString(1);
label5.Text = catname;
}
}
sql = "SELECT * FROM "+ tabname;
cmd.CommandText = sql;
reader = cmd.ExecuteReader();
int i=1;
Question[] Page=new Question[imax];
while (reader.Read())
{
Page[i - 1].Number = reader.GetInt16(0);
Page[i - 1].Text = reader.GetString(1);
Page[i - 1].ChoseA = "A" + reader.GetString(2);
Page[i - 1].ChoseB = "B" + reader.GetString(3);
Page[i - 1].ChoseC = "C" + reader.GetString(4);
Page[i - 1].ChoseD = "D" + reader.GetString(5);
Page[i - 1].Answer = reader.GetString(6);
i++;
}
展开
 我来答
百度网友6d837d0
2013-09-08 · TA获得超过979个赞
知道小有建树答主
回答量:644
采纳率:0%
帮助的人:493万
展开全部
把第二个Reader分离出来到另一个函数,用不同的CONNECTION,COMMAND
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
三月的前奏
2013-09-01 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:89.6万
展开全部
reader.Close()没加
更多追问追答
追问
加了reader.Close()之后直接就报错无法运行了……不知何故
追答
while (reader.Read())
{
if (CSN == reader.GetInt16(0))
{
goahead = false;
tabname = reader.GetString(2);
this.Text = reader.GetString(1);
label5.Text = catname;
}
}
reader.Close();//你加在这里了没?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tkimu
2013-09-01 · TA获得超过335个赞
知道答主
回答量:380
采纳率:0%
帮助的人:162万
展开全部
定义表,直接读表里就完了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式