刚用SQLITE数据库 一些下问题请教

wenbinsong 2011-05-30 11:52:25
//数据库链接
DbCn = new SQLiteConnection(clsPub.DataConnectStr);
DbCn.Open();

//加载用户数据
strSQL = "Select YHXM,HZPID,MXPID,JChLB From YTJ_AuditDuty where YHM ='"+ userName +"' and MM = '"+ pwd +"'";
dbCmd = new SQLiteCommand(strSQL, DbCn);
read = dbCmd.ExecuteReader();
if (!read.Read())
{
MessageBox.Show("用户名或密码不正确!", "信息框");
//this.useNameTextBox.Text = "";
//this.pwdTextBox.Text = "";
return;
}
else
{
userinfo.UserID = userName;
userinfo.UserName = read[0].ToString();
userinfo.HZPID = read[1].ToString();
userinfo.MXPID = read[2].ToString();
userinfo.JChLB = read[3].ToString(); 我用这个取值就会报错 无法找到 PInvoke DLL“SQLite3_wrapper"

userinfo.JChLB = read.GetString(3);用这个就没问题 前几个取值都正常 唯一区别是这个字段是INT 11 我想知道原因
string dd = "DD_1"; //本周稽查地点
switch(DateTime.Now.Day / 7)
{
case 0:
dd = "DD_1";
break;
case 1:
dd = "DD_2";
break;
case 2:
dd = "DD_3";
break;
case 3:
dd = "DD_4";
break;
}
read.Close();
strSQL = "Select QH,JChZX,ZhJChR,ZhJChRXM,FJChR,FJChRXM,"+ dd +" From YTJ_AuditPlan where MXPID ='" + userinfo.MXPID + "'";
dbCmd = new SQLiteCommand(strSQL, DbCn);
read = dbCmd.ExecuteReader();//取不到值 很奇怪 可是我把动态取到的SQL放到数据库中确实查到数据了 为什么在程序中没值呢 if (read.Read())
{
userinfo.QH = read["QH"].ToString();
userinfo.JCHZXH = read["JChZX"].ToString();
userinfo.ZHJCHR = read["ZhJChR"].ToString();
userinfo.ZHJCHRXM = read["ZhJChRXM"].ToString();
userinfo.FJCHR = read["FJChR"].ToString();
userinfo.FJCHRXM = read["FJChRXM"].ToString();
userinfo.BZHJCHDD = read.GetString(6);
}

ServiceForm sForm = new ServiceForm(userinfo);
sForm.Show();
this.useNameTextBox.Text = "";
this.pwdTextBox.Text = "";


请高手帮忙分析一下 谢谢了
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
poloyzhang 2011-06-01
  • 打赏
  • 举报
回复
read.Close();
strSQL = "Select QH,JChZX,ZhJChR,ZhJChRXM,FJChR,FJChRXM,"+ dd +" From YTJ_AuditPlan where MXPID ='" + userinfo.MXPID + "'";
dbCmd = new SQLiteCommand(strSQL, DbCn);
read = dbCmd.ExecuteReader();//取不到值 很奇怪 可是我把动态取到的SQL放到数据库中确实查到数据了 为什么在程序中没值呢 if (read.Read())

出在上面的连接上.
poloyzhang 2011-06-01
  • 打赏
  • 举报
回复
你在读之前关闭了连接,肯定读不到了.reader 读的时候是连接一直要打开的.

你可以参考一下一个类 sqlitehelper . 仿sqlhelper 实现的操作数据库的一个类.
快乐大法师 2011-05-31
  • 打赏
  • 举报
回复
userinfo.JChLB = Convert.ToInt32(read[3]);

strSQL = "Select QH,JChZX,ZhJChR,ZhJChRXM,FJChR,FJChRXM,"+ dd +" From YTJ_AuditPlan where MXPID =" + userinfo.MXPID;
wenbinsong 2011-05-30
  • 打赏
  • 举报
回复
有人帮帮忙吗

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧