這是一本書上的,但是我調好了沒問題。
用的數據庫是SQL2000自帶的pubs庫。
在App_Code下新建類文件AuthorDB.cs,內容如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// AuthorDB の概要の説明です
/// </summary>
public class AuthorDB
{
public AuthorDB()
{
//
// TODO: コンストラクタ ロジックをここに追加します
//
}
//獲取state集合,返回DataSet,並通過DropDownList顯示
public static DataSet GetStates()
{
//獲取連接字符串
string connectionString = ConfigurationManager.ConnectionStrings["PubsConnectionString"].ConnectionString;
//創建並設置SqlConnection
SqlConnection dbConnection = new SqlConnection(connectionString);
//定義SQL查詢語句
string queryString = "Select distinct state from authors";
//創建並設置SqlCommand
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection = dbConnection;
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandText = queryString;
//創建SqlDataAdapter,並獲取數據
SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCommand);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
//返回數據
return ds;
}
//獲取state參數,獲取數據記錄,返回DataSet,返回DataSet,並通過GridView顯示
public static DataSet GetAuthorsByState(string state)
{
//獲取連接字符串
string connectionString = ConfigurationManager.ConnectionStrings["PubsConnectionString"].ConnectionString;
//創建並設置SqlConnection
SqlConnection dbConnection = new SqlConnection(connectionString);
//定義SQL查詢語句
string queryString = "Select au_id,au_fname,au_lname,state from authors where state=@state";
//創建並設置SqlCommand
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection = dbConnection;
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandText = queryString;
//設置SqlParameter
SqlParameter dbParameter_state = new SqlParameter();
dbParameter_state.ParameterName = "@state";
dbParameter_state.Value = state;
dbParameter_state.DbType = DbType.StringFixedLength;
//向SqlCommand中添加SqlParameter
dbCommand.Parameters.Add(dbParameter_state);
//創建SqlDataAdapter,並獲取數據
SqlDataAdapter dataAdapter = new SqlDataAdapter(dbCommand);
DataSet ds = new DataSet();
dataAdapter.Fill(ds);
//返回數據
return ds;
}
//更新數據記錄
public static int UpdateAuthor(string au_id,string au_lname,string au_fname,string state)
{
//獲取連接字符串
string connectionString = ConfigurationManager.ConnectionStrings["PubsConnectionString"].ConnectionString;
//創建並設置SqlConnection
SqlConnection dbConnection = new SqlConnection(connectionString);
//定義SQL查詢語句
string queryString = "UPDATE authors SET au_fname=@au_fname,au_lname=@au_lname,state=@state WHERE au_id = @au_id";
//創建並設置SqlCommand
SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection = dbConnection;
dbCommand.CommandType = CommandType.Text;
dbCommand.CommandText = queryString;
//設置參數@au_id
SqlParameter dbParameter_au_id = new SqlParameter();
dbParameter_au_id.ParameterName = "@au_id";
dbParameter_au_id.Value = au_id;
dbParameter_au_id.DbType = DbType.String;
//向SqlCommand中添加@au_id
dbCommand.Parameters.Add(dbParameter_au_id);
//設置參數@au_lname
SqlParameter dbParameter_au_lname = new SqlParameter();
dbParameter_au_lname.ParameterName = "@au_lname";
dbParameter_au_lname.Value = au_lname;
dbParameter_au_lname.DbType = DbType.String;
//向SqlCommand中添加@au_lname
dbCommand.Parameters.Add(dbParameter_au_lname);
//設置參數@au_fname
SqlParameter dbParameter_au_fname = new SqlParameter();
dbParameter_au_fname.ParameterName = "@au_fname";
dbParameter_au_fname.Value = au_fname;
dbParameter_au_fname.DbType = DbType.String;
//向SqlCommand中添加@au_fname
dbCommand.Parameters.Add(dbParameter_au_fname);
//設置參數@state
SqlParameter dbParameter_state = new SqlParameter();
dbParameter_state.ParameterName = "@state";
dbParameter_state.Value = state;
dbParameter_state.DbType = DbType.StringFixedLength;
//向SqlCommand中添加@state
dbCommand.Parameters.Add(dbParameter_state);
//執行SQL語句,並且返回受影響的行數
int rowsAffected = 0;
dbConnection.Open();
try
{
rowsAffected = dbCommand.ExecuteNonQuery();
}
finally
{
dbConnection.Close();
}
return rowsAffected;
}
}
然後在配置文件web.config中加上連接程序就可以了。
最後當然是在表示層用objectdatasourse組件連接了,綁定在服務器組件上就可以運行了。
寫的比較匆忙,如有問題請留言,一塊解決。