/**************************數(shù)據(jù)庫連接**************************/
連接串格式:
ConnStr = "server="+ServerName+";database="+DBName+";
User ID="+UserName+";Password="+Password+";";
或
ConnStr = "server="+ServerName+";database="+DBName+";
integrated security=sspi"
SqlConnection sqlConn = new SqlConnection(ConnStr); //建立數(shù)據(jù)庫連接
sqlConnl.Open(); //打開數(shù)據(jù)庫連接
//打開數(shù)據(jù)庫連接之后可以對數(shù)據(jù)庫進(jìn)行更、刪、改等操作
sqlConn.Close(); //關(guān)閉數(shù)據(jù)庫連接
/****************************數(shù)據(jù)庫操作***************************/
數(shù)據(jù)庫操作語句的執(zhí)行:
1. string sqlStr = " select * from tableName";
SqlCommand myCommand = new SqlCommand(sqlStr,sqlConn);
2. string sqlStr = " select * from tableName";
SqlCommand myCommand = new SqlCommand();
myCommand.CommandType = CommandType.Text;
myCommand.CommandText = sqlStr;
myCommand.Connection = sqlConn;
3.存儲過程的執(zhí)行:
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = sqlConn;
myCommand.CommandText = "sp_report_Calculate";
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.ExecuteNonQuery();
如果需要向存儲過程中傳遞參數(shù)可以直接寫在:myCommand.CommandText里面,如:myCommand.CommandText = "sp_report_Calculate,參數(shù)1,參數(shù)2,……";或者用myCommand.Parameters.Add("param",value);
執(zhí)行數(shù)據(jù)庫語句的方法有:ExecuteNonQuery(),ExecuteReader(),ExecuteScalar(),ExecuteXmlReader()四種方法。
執(zhí)行數(shù)據(jù)庫查詢操作時:將查詢結(jié)果放到DataSet的一個臨時表DataTable中,該DataTable中的內(nèi)容和數(shù)據(jù)庫不同步,當(dāng)數(shù)據(jù)庫中的內(nèi)容有變化時,需對該DataTable進(jìn)行更新。(再次從數(shù)據(jù)庫中獲得相關(guān)信息)
DataSet dataSet = new DataSet();
//建立SqlDataAdapter對象,并執(zhí)行數(shù)據(jù)庫語句
SqlDataAdapter myCommand = new SqlDataAdapter(sqlStr,sqlConn);
//將數(shù)據(jù)放到DataSet的臨時表中
myCommand.Fill(dataSet,"user");
//直接放到DataTable里面
DataTable dt = new DataTable();
myCommand.Fill(dt);