C#操作SQL数据库
Connection(连接)对象
- 连接字符串: 形式1.”server=;uid=;pwd=;database=”
形式2.”server=;Intergrated Security=true/SSPI”
- 创建连接对象: SqlConnection con=new SqlConnection(连接字符串)
- 打开数据库连接:con.Open()
- 关闭数据库连接:con.Close()
- 查看连接状态:con.state =ConnectionState.Open/Closed
Command(命令)对象
- 创建命令对象:形式1. SqlCommand cmd=new SqlCommand()
形式2.new SqlCommand(Sql语句, 连接对象)//省略2,5
- 指定连接对象:cmd.Connection=连接对象
- 设置命令类型:cmd.CommandType=CommandType.Text/ StoredProcedure
- 连接数据库: cmd.Connection.Open()
- 设置Sql语句:cmd.CommandText=”select语句”/”非select语句”/”存储过程名”
- 执行sql语句:形式1.执行非select语句,返回受影响的行数:cmd.ExecuteNonQuery()
形式2.执行select语句(count,sum,…),返回第一行第一列的值:cmd.ExecuteScalar()
形式3.执行select语句,返回一个DataReader对象:cmd.ExecuteReader()
DataReader对象
- 创建DataReader对象:SqlDataReader sqldr= cmd. ExecuteReader ()
- 判断是否有数据:sqldr.HasRows=true/false
- 读取(下)一行记录:sqldr.Read()
- 获取数据: sqldr [“列名”]
- 关闭DataReader对象:sqldr.Close()
Parameters(Command参数集)
当命令类型为存储过程:cmd.CommandType= StoredProcedure
- 创建对象:形式1.SqlParameters parms=new SqlParameters()
形式2. new SqlParameters(参数名称, 参数类型, 类型值)//省略2,3,4
- 设置参数名称: parms. ParameterName=”@存储过程里的参数1”
- 设置参数类型: parms .SqlDbType= SqlDbType.参数1数据类型
- 设置类型值:parms.Size=int
- 为参数赋值:parms.Value=对应类型的值
- 添加参数:cmd.Parameters.Add(parms)
- 执行语句: cmd.ExecuteNonQuery()
- 获取参数值: cmd.Parameters[“@参数名”]
- 多个SqlParameters可以用SqlParameter [] parms={new SqlParameter(),… }
DataSet(小型数据库)对象//无需连接,执行
DataTable(数据表)对象:包含在DataSet里
- 创建DataAdapter对象:形式1. DataAdapter da=new DataAdapter()
形式2. new DataAdapter(Sql语句, 连接对象)//省略2
- 通过SelectCommand创建SqlCommand 命令:ada.SelectCommand=new SqlCommand()
- 通过SelectCommand使用SqlCommand 的方法,属性:ada.SelectCommand.CommandType
- 创建DataSet对象: DataSet ds=new DataSet()
- 创建DataTable对象: DataTable=new DataTable()
- 用da填充ds/dt:形式1.da.Fill(ds)
形式2. da.Fill(ds,” 数据表名”)
形式3. da.Fill(dt)
DataGridView控件的使用
1.创建对象: DataGridView dgv=new DataGridView()
1.指定数据源为DataTable: dgv.DataSource=ds.Table[n]/dt