您的位置:首页 > 职场人生

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

2013-01-01 09:00 357 查看
---------------------- 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培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: