连接字符串: 数据库服务器地址;数据库名;用户名;密码
sql字符串:sql语句
SqlCommand command = new SqlCommand(sql字符串, 连接字符串);```
//非查询操作
res = command.ExecuteNonQuery(); //操作成功返回true,否则为false```
//一行一行读(数据量较大时)
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string vCard = reader["VCard"].ToString(); //用列名取数据
}```
//一次性读取(数据量较小时,存入内存)
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd); //将SqlCommand与SqlDataAdapter绑定
adapter.Fill(dataset); //把结果填充到数据集,一个数据集可以有多个表
DataTable table = dataset.Tables[0]; //得到数据表
foreach(DataRow row in table.Rows) //得到表中的行
{
string name=Convert.ToString(row["UserName"]);
MessageBox.Show(name);
} ```
建立连接:SqlConnection conn = new SqlConnection(connStr)
连接字符串:Data Source-服务器 Initial Catalog-数据库
方式1:connStr = "Data Source=10.1.249.44;Initial Catalog=userplus_1030;uid=sa;pwd=hanting@2010;Pooling=True;Max Pool Size=256;Connect Timeout=20";
方式2:connStr = "Data Source=.;Initial Catalog=TripApplication;Integrated Security=true;Pooling=True;Max Pool Size=256;Connect Timeout=20";```
sql语句:string sql(注意sql语句间的空格)
StringBuilder strSql = new StringBuilder();
strSql.Append(“update TripOrder set ”);
strSql.Append(“EmpNo=@EmpNo, CostCenterNo=@CostCenterNo ”);
strSql.Append("where OrderNo=@OrderNo");
string sql = strSql.ToString();
SqlCommand command = new SqlCommand(sql, conn);
设置参数:
command.Parameters.Add(new SqlParameter("@EmpNo", SqlDbType.NVarChar, 50));
command.Parameters["@EmpNo"].Value = empNo;
command.Parameters.Add(new SqlParameter("@CostCenterNo", SqlDbType.NVarChar, 50));
command.Parameters["@CostCenterNo"].Value = costCenterNo;
command.Parameters.Add(new SqlParameter("@OrderNo", SqlDbType.NVarChar, 50));
command.Parameters["@OrderNo"].Value = orderNo;
执行操作:
int res = command.ExecuteNonQuery(); //crud
返回int,如果为1,则操作成功
SqlDataReader reader = command.ExecuteReader(); //select
读取一行记录为一个对象
使用 reader["列名"] 取出对应列中的值```