在ASP.NET中,使用C#串連SQL資料庫,並使用SQL語句查詢,以前從來沒有接觸過C#,最近用到了,摸索了兩天終於運行起來了,Mark一下,不喜勿噴
有兩種方法:(說的是第一種方法不安全,我也不清楚^_^)
第一種方法: 複製代碼 代碼如下://建立ASP.NET Web 應用程式,直接在Page_load函數中加入一下代碼,貌似就可以用了
public void Page_Load(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("Data Source=.;uid=sa;pwd=sa;Database=NorthWind"))
{
string username = "forever";
string strSQL = "select * from table where name='" + username + "'";
SqlDataAdapter adapter = new SqlDataAdapter(strSQL, con);
DataSet ds = new DataSet();
adapter.Fill(ds);
foreach (DataRowView drv in ds.Tables[0].DefaultView)
{
Response.Write(drv["第一個欄位"]+"|"+drv["第二個欄位"]);
}
}
}
第二種方法說的比較安全,就是比較麻煩 複製代碼 代碼如下://1、修改Web.config設定檔
<configuration>
<connectionStrings>
</connectionStrings>
//下面三行是添加的內容,即串連資料庫的資訊
<appSettings>
<add key="connect" value="server=.;database=NorthWind;uid=sa;pwd=sa;"/>
</appSettings>
<system.web>
//2、串連資料庫
sCon = ConfigurationManager.AppSettings["connect"];
if (string.IsNullOrEmpty(sCon))
{
Response.Write("連接字串為空白!");
}
con = new SqlConnection(sCon);
//3、開啟資料庫
if (con.State == ConnectionState.Closed)
con.Open();
//4、查詢函數
public SqlDataReader ExcuteDataReader(string strTxt, CommandType cmdType, SqlParameter[] Params)
{
SqlDataReader dr = null;
if (con.State == ConnectionState.Closed)
{
Response.Write("資料庫的串連沒有開啟!");
return dr;
}
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = strTxt;
cmd.CommandType = cmdType;
if (Params != null)
{
foreach (SqlParameter param in Params)
{
if (param != null) cmd.Parameters.Add(param);
}
}
#if NOTALLOWEXCEPTION
try
#endif
{
if (cmd.ExecuteScalar() != null)
{
dr = cmd.ExecuteReader();
}
}
#if NOTALLOWEXCEPTION
catch(SqlException se)
{
_objToShowErr = se;
_sError = se.Message;
return null;
}
finally
#endif
{
cmd.Dispose();
}
return dr;
}
//5、執行查詢
//SQL語句,id=N'id',加個N是為了能識別中文字元。
string s = "select * from table where id=N'" + id + "'";
SqlParameter[] Params1 = null;
//儲存結果
SqlDataReader select_result = null;
select_result = a.ExcuteDataReader(s, CommandType.Text, Params1);
string ss = "";
while (select_result.Read())
{
//根據自己的欄位數寫
ss = ss + "第一個欄位:" + select_result[0] + ", 第二個欄位:" + select_result[1] + "; ";
}
//測試輸出
Response.Write(ss);