黑马程序员--ado.net 基础

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

(1)ado.net
当给别人发送项目时应该先分离数据库  右键 任务 分离
项目内嵌mdf文件形式的链接字符串
"Data Source=.\SQLEEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf(数据库名);Integrated Security=True;User Instance=True"。
SqlConnection 类 连接字符串
测试是否连接数据库成功
 string dataDir = AppDomain.CurrentDomain.BaseDirectory;
            if (dataDir.EndsWith(@"\bin\Debug\")
                || dataDir.EndsWith(@"\bin\Relese\"))
            {
                dataDir = System.IO.Directory.GetParent(dataDir).Parent.FullName;
                AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);


            }
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
            conn.Open();
            Console.WriteLine("打开数据库");
使用完了要释放 用using(){}
using(qlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True");
            ;){conn.Open();}


(2)执行简单的insert语句  非查询语句
using (sqlconmand cmd=conn.createConmand())
{   cmd.ComandText="insert into person (name)valus('abc')";
      cmd.ExecuteNonQuery();
      console.writeline("插入成功");






}
(3)执行查询语句 用户登录登陆


using (sqlconmand cmd=conn.createConmand())
{cmd.ConmandText="select *from person where username='"+usernamen"'"
  using(SqldataReader reader=cmd.ExecuteReader();)
  {
      if(reader.read())


      string dbpassword=reader.GetString(reader.GetOrdinal("Password"));
      if(password=dbpassword)
         {
             console.writeline("登陆成功");
          }
      else
           {
              console.writeline("用户名错误")
             }
}


ado.net


(1)ExecuteScalar
执行查询 返回结果的第一行第一列那个数据 一般很少用 返回类型object类型
output insert.id  输出刚才插进的id的值
(2)ExcuteReader  返回结果集 返回SqlDataReader类型
用法
  SqlDataReader reader=cmd.ExcuteReader
    while(reader.Reader())
    {console.writeline(reader.getString(1));}
reader.GetOrdinal("username")  根据列名得到序号


string username=reader.GetString(read.GetOrdinal("username"))
int id=reader.GetInt32(read.GetOrdinal("Id"))


(3) using close dispose
using 在出了作用域后调用Dispose
close 关闭  还能打开  还能使用
dispose 直接销毁


(4) 查询用户名正确的输入方法
cmd.ConmandText="select count(*)from T_user where UserName=@user and Password=@p";
    cmd.Parameter.Add(new SqlParameter("user",username));


    cmd.Parameter.Add(new SqlParameter("P",username))


(5)在同一个连接中如果SqldataReader 没有关闭是不能执行update之类的语句的




}


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值