第一个练手项目,看了两天文档,练练手。虽然学的java,做起了C#开发,感觉还不是很吃力。领导让写写项目练练,分配项目中一个小模块给我。边看边学边练,用了两天差不多完成。
主要问题是操作数据库。因为刚接触,只能用SqlConnection连接,还要做连接测试。
数据库连接代码如下:
SqlConnection conn = new Sqlconnection(string str);
conn.open();
conn.close();
其中str是连接字符串,具体自行百度。open()方法是打开连接,close()用于操作完成后释放资源。
数据库连接完成后,用SqlCommand对象进行操作。这里就有点复杂了(抱歉,只会用底层的方法,公司给的公共类看着眼花缭乱。。。。)。
SqlCommand对象操作如下:
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;//这句必须有!
string sql="";//自己定义,更多的用stringbuilder,有.append()拼接字符串。
向sql中注入的值需要用Sqlparameter对象传递,原因自行百度(我也没记住)。。。多个值,用SqlParameter数组,例如:
SqlParameter[] parameters = {
new SqlParameter("@id",SqlDbType.Int,4),
new SqlParameter("@name"mSqlDbType.Varchar,100) }
parameters[0].Value = xxxx;
parameters[1].Value = xxxx;
cmd.Parameters.AddRange(parameters);
若只传一个参数则直接用Add()方法,例如:
cmd.Parameters.Add("@id",id);
Command对象执行还需要sql语句等方法如下:
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
然后就是执行sql,操作数据库了。详情请按F12,查看各种方法。
对于增加、删除、修改,直接执行Command对象的方法,一般是用ExecuteNonQuery()方法,返回一个int类型结果。
对于查询,目前只会用SqlDataReader对象接受SqlCommand运行结果,通过遍历SqlDataReader来获取所需查询的结果。遍历还没用,只用SqlDataReader的Read()方法判断是否有值,获取单个实体对象,例如:
if(dt.Read()){
User.id = Convert.ToInt16(dr[0]);
...........}
对于需要在GridView中显示多行数据,再另行说明。