黑马程序员--wpf学习笔记六----数据操作相关
原创
©著作权归作者所有:来自51CTO博客作者charles_xj的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、关于output的使用:
对数据进行insert操作,是否苦于过怎样获得插入的Id值?当然方法很多,这里记录一种:使用output函数。在SqlServer2005以及以后版本,可以使用该函数。可以输入sql语句:
insert into UserInfo(LoginId,Password) output inserted.Id values('11','11')
接着用ExecuteScalar()方法执行(该方法回返回第一行第一列的Object类型值),这样就获得了刚插入记录的主键。output表示要输出一个值,而Id则指返回的列的名称。
二、sqlserver与C#中常用字段类型的对应:
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)来读取每行数据