asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)
程序员文章站
2024-02-09 08:12:10
在asp.net中,使用c#连接sql数据库,并使用sql语句查询,以前从来没有接触过c#,最近用到了,摸索了两天终于运行起来了,mark一下,不喜勿喷 有两种方法:(说的...
在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);
有两种方法:(说的是第一种方法不安全,我也不清楚^_^)
第一种方法:
复制代码 代码如下:
//建立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);
上一篇: PHP中的面向对象和面向过程的编程方法
下一篇: PIX访问控制列表和内容过滤(1)