SQLite数据库在C#的操作实现问题

matee 2009-04-28 07:37:11
有SQlite数据库表A如下定义


A:

ID Name 合格次数 不合格次数 合格

1 one 0 0 false
2 two 0 0 false




希望操作伪代码如下:


if (本次检验合格)
qualified(name)
{
//数据库操作希望找到name对应行, 合格次数+1, 如果合格次数= 5 合格= true;

}

else
notqualified(name)
{
//数据库操作name对应行,不合格次数+1,合格次数=0 合格= false;
}



请问大家数据库部分应该如何在C#中实现,求好的解决方法. 数据库学的不好,请大家帮忙了。谢谢大家!
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasy2008yxw 2009-04-29
  • 打赏
  • 举报
回复
学习了
matee 2009-04-28
  • 打赏
  • 举报
回复

我想实现单词记忆正确后,对数据库相应项的操作函数。
表设计如下:


//代码如下:

public static void correctOperate(int courseNum, string spelling)
{
int Total;
int Correct;
int SuccessiveCrect;
int isMemorized = 0;

SQLiteConnection cn = new SQLiteConnection();
cn.ConnectionString = datasource;
cn.Open();
string sql = "select * from Words where courseID='" + courseNum + "'AND Vocabulary='" + spelling + "'";

SQLiteDataReader dr;
SQLiteCommand cmd = new SQLiteCommand(sql);
cmd.Connection = cn;
dr = cmd.ExecuteReader();
if (dr.Read())
{
Correct = (int)dr["Correct"] + 1;
Total = (int)dr["Total"] + 1;
SuccessiveCrect = (int)dr["SuccessiveCrect"] + 1;
if (SuccessiveCrect >= 5)
isMemorized = 1;

//之后进行Correct ,Total SuccessiveCretct isMemorized 等值的update操作。

}
cn.Close();

}




我想请问一下,除了这样实现以外,还有没有更简约的方法..我感觉总是频繁的打开和关闭数据库会影响效率.?
代码的写法有没什么可以改进的地方?
wuyq11 2009-04-28
  • 打赏
  • 举报
回复
update test set 合格次数=合格次数+1 WHERE Name=''
update test set 合格=true where 合格次数>5
matee 2009-04-28
  • 打赏
  • 举报
回复
感谢你的资料..这类东西我有看过 。但是能不能针对我的问题具体说一下.
兔儿爷 2009-04-28
  • 打赏
  • 举报
回复
访问我的博客 程序员日记 http://www.ideaext.com

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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