asp.net連接查詢SQL數(shù)據(jù)庫并把結(jié)果顯示在網(wǎng)頁上(2種方法)
更新時(shí)間:2013年04月26日 15:51:49 作者:
使用C#連接SQL數(shù)據(jù)庫,并使用SQL語句查詢,摸索了兩天終于運(yùn)行起來了,接下來為大家分享下兩種連接方法,感興趣的朋友可以參考下哈,希望可以幫助到你
在ASP.NET中,使用C#連接SQL數(shù)據(jù)庫,并使用SQL語句查詢,以前從來沒有接觸過C#,最近用到了,摸索了兩天終于運(yùn)行起來了,Mark一下,不喜勿噴
有兩種方法:(說的是第一種方法不安全,我也不清楚^_^)
第一種方法:
//建立ASP.NET Web 應(yīng)用程序,直接在Page_load函數(shù)中加入一下代碼,貌似就可以用了
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>
//下面三行是添加的內(nèi)容,即連接數(shù)據(jù)庫的信息
<appSettings>
<add key="connect" value="server=.;database=NorthWind;uid=sa;pwd=sa;"/>
</appSettings>
<system.web>
//2、連接數(shù)據(jù)庫
sCon = ConfigurationManager.AppSettings["connect"];
if (string.IsNullOrEmpty(sCon))
{
Response.Write("連接字符串為空!");
}
con = new SqlConnection(sCon);
//3、打開數(shù)據(jù)庫
if (con.State == ConnectionState.Closed)
con.Open();
//4、查詢函數(shù)
public SqlDataReader ExcuteDataReader(string strTxt, CommandType cmdType, SqlParameter[] Params)
{
SqlDataReader dr = null;
if (con.State == ConnectionState.Closed)
{
Response.Write("數(shù)據(jù)庫的連接沒有打開!");
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、執(zhí)行查詢
//SQL語句,id=N'id',加個N是為了能識別中文字符。
string s = "select * from table where id=N'" + id + "'";
SqlParameter[] Params1 = null;
//保存結(jié)果
SqlDataReader select_result = null;
select_result = a.ExcuteDataReader(s, CommandType.Text, Params1);
string ss = "";
while (select_result.Read())
{
//根據(jù)自己的字段數(shù)寫
ss = ss + "第一個字段:" + select_result[0] + ", 第二個字段:" + select_result[1] + "; ";
}
//測試輸出
Response.Write(ss);
有兩種方法:(說的是第一種方法不安全,我也不清楚^_^)
第一種方法:
復(fù)制代碼 代碼如下:
//建立ASP.NET Web 應(yīng)用程序,直接在Page_load函數(shù)中加入一下代碼,貌似就可以用了
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["第二個字段"]);
}
}
}
第二種方法說的比較安全,就是比較麻煩
復(fù)制代碼 代碼如下:
//1、修改Web.config配置文件
<configuration>
<connectionStrings>
</connectionStrings>
//下面三行是添加的內(nèi)容,即連接數(shù)據(jù)庫的信息
<appSettings>
<add key="connect" value="server=.;database=NorthWind;uid=sa;pwd=sa;"/>
</appSettings>
<system.web>
//2、連接數(shù)據(jù)庫
sCon = ConfigurationManager.AppSettings["connect"];
if (string.IsNullOrEmpty(sCon))
{
Response.Write("連接字符串為空!");
}
con = new SqlConnection(sCon);
//3、打開數(shù)據(jù)庫
if (con.State == ConnectionState.Closed)
con.Open();
//4、查詢函數(shù)
public SqlDataReader ExcuteDataReader(string strTxt, CommandType cmdType, SqlParameter[] Params)
{
SqlDataReader dr = null;
if (con.State == ConnectionState.Closed)
{
Response.Write("數(shù)據(jù)庫的連接沒有打開!");
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、執(zhí)行查詢
//SQL語句,id=N'id',加個N是為了能識別中文字符。
string s = "select * from table where id=N'" + id + "'";
SqlParameter[] Params1 = null;
//保存結(jié)果
SqlDataReader select_result = null;
select_result = a.ExcuteDataReader(s, CommandType.Text, Params1);
string ss = "";
while (select_result.Read())
{
//根據(jù)自己的字段數(shù)寫
ss = ss + "第一個字段:" + select_result[0] + ", 第二個字段:" + select_result[1] + "; ";
}
//測試輸出
Response.Write(ss);
您可能感興趣的文章:
- ASP.NET web.config中數(shù)據(jù)庫連接字符串connectionStrings節(jié)的配置方法
- ASP.NET 6種常用數(shù)據(jù)庫的連接方法
- ASP.NET2.0 SQL Server數(shù)據(jù)庫連接詳解
- ASP.NET連接數(shù)據(jù)庫并獲取數(shù)據(jù)方法總結(jié)
- ASP.NET連接MySql數(shù)據(jù)庫的2個方法及示例
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net連接數(shù)據(jù)庫 增加,修改,刪除,查詢代碼
- ASP.NET 連接ACCESS數(shù)據(jù)庫的簡單方法
- ASP.NET連接 Access數(shù)據(jù)庫的幾種方法
- ASP.NET WebAPI連接數(shù)據(jù)庫的方法
相關(guān)文章
Java 實(shí)現(xiàn)連接sql server 2000
JDBC技術(shù)事實(shí)上是一種能通過JAVA語言訪問任何結(jié)構(gòu)化數(shù)據(jù)庫的應(yīng)用程序接口(API)(Sun這樣說的,我也不知道是不是真的),而且現(xiàn)在的JDBC 3.0據(jù)Sun說也能訪問Execel等電子表格程序!2009-06-06sqlserver中比較一個字符串中是否含含另一個字符串中的一個字符
sql中比較一個字符串中是否含有另一個字符串中的一個字符的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-09-09SQL Server遍歷表中記錄的2種方法(使用表變量和游標(biāo))
遍歷表一般都要用到游標(biāo)在SQL Server中可以很容易的用游標(biāo)實(shí)現(xiàn)循環(huán)實(shí)現(xiàn)遍歷表中記錄,本文將介紹使用表變量和游標(biāo)實(shí)現(xiàn)數(shù)據(jù)庫中表的遍歷,感興趣的朋友可以了解下本文,或許可以幫助到你2013-02-02重裝MS SQL Server 2000前必須徹底刪除原安裝文件的方法
重裝MS SQL Server 2000前必須徹底刪除原安裝文件的方法...2007-11-11SQL order by ID desc/asc加一個排序的字段解決查詢慢問題
解決方法就是在order by ID desc再加一個排序的字段,這樣子可能會把速度提高很多,需要朋友可以試一下2012-12-12uniqueidentifier轉(zhuǎn)換成varchar數(shù)據(jù)類型的sql語句
uniqueidentifier轉(zhuǎn)換成varchar數(shù)據(jù)類型的sql語句,需要的朋友可以參考下。2011-09-09SQL按照日、周、月、年統(tǒng)計(jì)數(shù)據(jù)的方法分享
這篇文章主要為大家按日,星期,月,季度,年統(tǒng)計(jì)銷售額的sql語句,需要的朋友可以參考下2013-10-10