1. 数据库连接字符串的创建
a) SqlServer身份登录
String connStr = “data source=”数据库服务器名字; initial catalog=”数据库名字”; user id=”用户名”; pwd=”密码” ”
i. 如果是本地机可以用 . 来代替
ii. 如果用的是服务器名字,注意要 \ 转义 例如:YANGX\\ddddd”
示例代码:
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
String connStr = "data source=YANGX\\ddddd; initial catalog=MySchool; user id=test; pwd=123456";
b) windows身份登录
String connStr = “data source=”数据库服务器名字; initial catalog=”数据库名字”; Integrated security=true ”
示例代码:
String connStr = "data source=.; initial catalog=MySchool; Integrated security=true;
2. 创建Connection对象
a) 导入命名空间,因为我们用的是SqlServer2005数据库,所以到如 using System.data.sqlclient
b) SqlConnection conn = new SqlConnection(“连接字符串”);
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
3. 创建Command对象
a) Sqlcommand comm. = new SqlCommand(“sql语句”,conn对象);
b) 注意:
i. command对象的方法 executeScaler() 和 executeReader()用来进行Select查询;executeScaler()方法是返回查询数据表中的第一行第一列的值,返回时要类型转换;executeReader()方法返回的类型是DataReader对象,在读取数据库数据时,要先调用Read()方法。DataRead()对象在读取数据库值时,也要类型转换。
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
String sql = “select * from 表名”
SqlCommand comm. = new SqlCommand(sql,conn);
Conn.Open();
String str = (String)Comm.ExecuteScaler(); Conn.close();
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
String sql = “select * from 表名”
SqlCommand comm. = new SqlCommand(sql,conn);
Conn.Open();
SqlDataReader dr = comm..ExecuteReader();
While(dr.read()){
String str = (String)dr[“字段名”]; }
dr.close();
Conn.close();
ii. command对象的方法 executeNonQuery() 用来进行 insert 、update、 delete操作, executeNonQuery()方法返回的是一个整数值(类似于数据库中返回受影响的行数)
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
String sql = “insert into 表名 values(值)”
或者 update 表 set 字段=值 where 条件
或者 delete from 表名 where条件
SqlCommand comm. = new SqlCommand(sql,conn);
Conn.Open();
Int result = Comm.ExecuteNonQuery(); If(result > 0){
……成功
}else{
……失败
}
Conn.close();
4. 创建数据集和dataAdapter
a) 创建dataAdapter对象
i. SqlDataAdapter da = new SqlDataAdapter(sql语句,conn对象); 类似于command对象的创建
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
String sql = “select * from 表名”
SqlDataAdapter da = new SqlDataAdapter(sql,con);
b) 创建DataSet对象
i. DataSet ds = new DataSet(“数据集名称”); 数据集名称可有可无,默认是newdataSet
ii. 填充数据集
1. 通过dataAdapter对象的fill方法来完成,注意,如果没有显示打开数据库,fill()方法会隐式打开数据库
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
String sql = “select * from 表名”
SqlDataAdapter da = new SqlDataAdapter(sql,con);
DataSet ds = new DataSet();
Da.fill(ds,”临时表明”); 临时表明可以任意取名,只是一个临时帮我们存储数据用的表而已
Fill()方法只是完成查询而已,select语句
iii. 更新数据集中数据到数据库中
1. 通过dataAdapter对象的update方法来完成,注意,在更新前需要先创建SqlCommandBuilder对象
a) SqlCommandBuilder cb = new SqlCommandBuilder(dataAdapter对象)
示例代码:
Using System.data.SqlClinet;
String connStr = "data source=.; initial catalog=MySchool; user id=test; pwd=123456";
SqlConnection conn = new SqlConnection(connStr);
String sql = “insert into 表名 values(值)”
或者 update 表 set 字段=值 where 条件
或者 delete from 表名 where条件
SqlDataAdapter da = new SqlDataAdapter(sql,con);
DataSet ds = new DataSet();
Da.fill(ds,”temp”);
SqlCommandBuilder cb = new SqlCommandBuilder(da);
Da.update(ds,”temp”);
案例代码总结:
a) 第一步:建立父窗体,并设置其ISMDIContainer属性 true
b) 第二步:创建子窗体
c) 第三步:在父窗体中通过事件,在事件代码中完成显示子窗体,切记 xxx.MDIParent = this; 代码是写在父窗体中的
2.窗体间传递数据 d) 第一步:建立发送数据端
e) 第二步:创建接受数据端
f) 第三步:创建中间接受值的类,注意类中的属性 要定义成 static的 为了能够直接用类名调用属性
3.ListView程序