黑马程序员 ADO.net

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

1.直接在项目文件中内嵌MDF文件和使用SQLSEVER数据库没什么区别,但是用起来会更方便

2.神器的代码,附加在main函数中使用
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
             if (dataDir.EndsWith(@"\bin\Debug\")
                 || dataDir.EndsWith(@"\bin\Release\"))
             {
                 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
                 AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
             }

3.项目内嵌MDF文件形式的连接字符串SqlConnection sqlc = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;
Integrated Security=True;User Instance=True");
  .\SQLERPERSS表示本机上的SQLEXPERSS实例,Database1.mdf是mdf文件名
使用的时候要打开这个对象,使用OPEN方法。使用完之后要释放资源。

4.使用using,使数据库连接在用完之后自动销毁,销毁之前,如果没关闭,Dispose会先关闭再销毁。

5."Insert into T_user (username,password) values ('username','password',)"
上面语句传的是两个值为uername和password的字符串,如果想传两个变量,可以使用字符串拼接"Insert into T_user (uername,password) values ('"+username+"','"+888888+"')"

6.SqlCommand.CommandText="" 等于号后面跟一个字符串,字符串的值是要传给SQL的命令。

7.output inserted.主键名   输出刚刚插入的数据的主键值
Insert into T_user (username,password) output inserted.id values ('username','password',)语法


8.ExecuteScalar,返回一个一行一列的值。和output inserted.主键名  一起,用于返回刚插入的自增主键值

9.ExecuteReader返回一个结果集

10.sqldatareader类中有一个Read()方法,返回一个bool值,还有一个getsring()方法,返回指定列的值,只能给getsring传入列的序号,而不能传列名,所以又有一个GetOrdinal()方法,传入一个列名,会返回一个列的序号。

11.如果一个连接使用过之后仅仅是close()是不行的,关闭之后连接还是存在的,还能再打开,需要用Dispose()方法直销毁那个连接。

12.最好别直接写下面那样的代码销毁数据库连接
sql.open();
需要执行的代码;
sql.close();
   sql.Dispose();因为如果在代码执行过程中出了问题,就会导致无法执行到close和dispose语句,这样数据库连接无法销毁。会造成资源浪费。程序多失败了几次,可能会连数据库都无法连接上。

13.对象名.CommandText = "sleect coun(*) from t_users whereusername=@un andpassword=@p";
对象名.parameters.Add(new SqlParameter("un",username));
对象名.parameters.Add(new SqlParameter("p",password));@un类似于占位符,不再是字符串拼接。

14.在同一个连接中,如果sqldatareader没有关闭,是不能执行updat之类的命令。

15.创建连接非常消耗时间,因此不要每次操作都创建一个连接。

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看: http://net.itheima.com/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值