黑马程序员--wpf学习笔记六----数据操作相关

------- Windows Phone 7手机开发、 .Net培训、期待与您交流! -------
 
一、关于 output 的使用:
         对数据进行 insert 操作,是否苦于过怎样获得插入的 Id 值?当然方法很多,这里记录一种:使用 output 函数。在 SqlServer 2005 以及以后版本,可以使用该函数。可以输入 sql 语句:
insert into UserInfo(LoginId,Password) output inserted.Id values('11','11')
接着用 ExecuteScalar() 方法执行(该方法回返回第一行第一列的 Object 类型值),这样就获得了刚插入记录的主键。 output 表示要输出一个值,而 Id 则指返回的列的名称。
 
二、sqlserverC#中常用字段类型的对应:
 
SQLSERVER
C#
Int
Int
Bigint
Long
Nvarchar
String
Bit(0,1)
Bool
Money
Decimal
 
 
三、与 MS SqlServer 数据库相关操作:
1. 连接字符串:
string sqlConn =”Data Source=.;Initial Catalog= DatabaseName;User ID=sa;Password=pwdStr”;
2. 连接数据库进行操作 --SqlDataReader DataSet
using(SqlConnection conn = new SqlConnection(sqlConn))
{
        conn.Open();
         using(SqlCommand cmd = conn.CreateCommand())
          {
             cmd.CommandText=”select * from students”;
             using(SqlDataReader reader = cmd.ExecuteReader())
            {
                 while(reader.Read())
                {
                     int age = reader.getInt32(0);
                     int name = reader.GetString();
                 }
            } 
          }
}        
SqlDataReader 中查询结果存放在服务端 , 是连接相关的,不是放在程序中 ;SqlDataReader 只是相当于放了一个指针 ( 游标 ) ,只能读取当前游标指向的行,一旦断开连接就不能再读取。这样好处是无论查询多少条,对程序占用的内存几乎没有影响;适合大数据量。
 DataSet: 数据集的好处降低数据库服务器压力,存在本地而非服务器,便于操作!适合小数据量。
DataSet dataset = new DataSet();

SqlDataAdapter adapter = new SqlDataAdapter(cmd);

adapter.Fill(dataset);
DataSet 包含若干表 DataTable,DataTable 包括若干行 DataRow.
使用for(int i=0;i<dataSet.Table[0].Rows.count;i++)或者foreach(DataRow row in dataset.Table[0].Rows)来读取每行数据
 
 
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------

你可能感兴趣的:(dataset,output,SqlDataReader)