基本上各种操作都来源于增删改查,数据库也如此。使用SQL server 2012版客户端,2008版数据库。首先在安装的时候就出了问题···安了2005的客户端导致不能向上兼容,删了又装真是各种浪费时间。
首先创建数据库连接conn,然后新建数据命令cmd,设置SQL语句。item为传入的参数
查找:cmd.CommandText = string.Format(@"select Count(*) from Stage where ID = {0}", item.ID);//在数据库中Stage表中查找所有ID =item.ID的项目
插入:cmd.CommandText = string.Format(@"
Insert into Stage
values ('{0}','{1}','{2}','{3}','{4}','{5}')
",item.ProjectID ,item.StageID , item.Name , item.Start , item.End , item.Detail);
//如果上诉查找没有结果,则向Stage 表中插入分别值为item.ProjectID ,item.ID , item.Name , item.Start , item.End , item.Detail的一个新行。
要注意的是,当插入数据类型为int double等数值型不需要{}外面的‘’,但若为string char等字符型则必须要‘’否则会出现列名ABCD无效的报错。若在表中有子增量例如ID项,可以不用添加在语句中,系统会自动赋值。
修改:cmd.CommandText = string.Format(@"
update Stage
set StartDate = '{0}',
EndDate = '{1}',
Detail = '{2}'
where ID = {3}
", item.Start, item.End, item.Detail, item.ID);
//若查询中查到已经存在数据,则对数据进行更新操作。更新表Stage中的 set StartDate = '{0}', EndDate = '{1}', Detail = '{2}',其中123分别替换为item.Start, item.End, item.Detail,判断条件是ID=item.ID,也就是相当于在查找的基础上更新。
删除:cmd.CommandText = string.Format(@"delete Stage where ID = {0} ", item.ID);
//删除Id相同的项,也可以使用and 合并条件查找。