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

来源:互联网 发布:入门hifi耳机推荐知乎 编辑:程序博客网 时间:2024/04/28 20:34

---------------------- 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培训、期待与您交流! ----------------------

原创粉丝点击