using System.Collections.Generic
using System.Linq
using System.Web
using System.Web.UI
using System.Web.UI.WebControls
using System.Data.SqlClient //注意需要添加此句
namespace aspnet3
{
public partial class datatest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strconn = "server=localhostuid=sapwd=longltdatabase=School"
SqlConnection conn = new SqlConnection(strconn) //创建连接
string sql = "select * from students"
conn.Open()
SqlCommand cmd = new SqlCommand(sql, conn) //执行查询
Response.Write("连接成功")
SqlDataReader dr = cmd.ExecuteReader() //查询结果
if (dr.Read())
{
//利用dr[索引]对数据库表进行 *** 作,dr[]返回object;
//可以用字段做索引,也可用列号0,1..做索引
Response.Write(dr[0].ToString() + "<br>")
}
// this.Lab.Text = "suc"
}
}
}
在上面的例子中,我们连接了一个sa下的School数据库,并查询了其中students字段的内容。
连接数据库分为三个步骤:先定义连接信息,再创建一个连接,最后打开连接
string strconn = "server=localhostuid=sapwd=longltdatabase=School" //在这一段修改数据库的信息 SqlConnection conn = new SqlConnection(strconn)//创建连接 conn.Open()//打开连接能不能详细点啊。access数据库是mdb文件,如果你用access打开时不能编辑,那就检查一下这个文件是否设置为只读了。
而如果是在ASP中打开这个mdb文件进行数据库的读写,步聚如下:
一、创建Adodb.Connection对象用来连接数据库
使用以下语句:Set Conn=Server.CreateObject("Adodb.Connection")
打开数据库连接:Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0Data Source="&server.mappath("xxx.mdb")
其中的xxx.mdb就是你的access数据库名称(可以加上路径例如:/data/xxx.mdb。
二、创建adodb.recordset记录集对象来打开数据表并获取记录集
使用以下语句:
set rs=server.createobject("adodb.recordset")
rs.open "select * from xxtable",conn,1,3
这样就打开了xxtable这个表,并返回了其中的所有记录,并且是以可编辑状态打开的。其中的conn即是你的数据库连接对象的名称,后面紧跟着的1是recordset记录集对象的游标类型,此处为1表示你通过此SQL语句获得的记录集的游标可以前后移动,这样你就可以进行记录集的循环等 *** 作。最后面的一个数字3,是记录集的锁定类型,3表示可编辑
关于游标类型及锁定类型可以百度搜索一下
通过上面两步,你已经获得了一些记录集并且处于可编辑这些记录集的状态了
接下来就可以使用rs.addnew,rs.update进行记录的新增,更新 *** 作。
比如新增:
rs.addnew() '表示新增一条记录
rs("name")="test1"
rs("pass")="1234"
rs.update()
这样就新增了一条记录,其中的rs.addnew()表示新增一条记录,紧接着用rs("name"),rs("pass")来写入数据到name,pass这两个字段中,然后使用rs.update来保存一下你刚才的写入,这样一条新记录的插入就完成了。
而如果你只是修改一条已有的记录,则不需要rs.addnew(),后面的代码一样即可完成。不过修改记录一般是会先查询指定条件的某一条记录再进行rs.updae
当然你也可以不使用recordset记录集对象,而直接用sql语句的insert,update等来完成。
另外补充说明一点:
如果你发现用recordset或是sql的insert,update不能成功增加记录或修改记录,那么你就检查一下你的这个数据库连接代码是否连接成功(也就是数据库文件的路径是否写对)。如果这些都对,那么你再检查这个数据库文件是否是只读状态,如果也不是只读状态,那么就应该是文件权限的问题了。当你的MDB文件在NTFS格式的磁盘分区中时,需要设置文件的权限才可以写入数据,否则就只能读取。
<%IP=request.form("IP")
MAC=request.form("MAC")
USER=request.form("USER")
MINGZI=request.form("MINGZI")
BUMEN=request.form("BUMEN")
sfsw=request.form("sfsw")
cpu=request.form("cpu")
nc=request.form("nc")
yp=request.form("yp")
pp=request.form("pp")
bz=request.form("bz")
dim
sql,rs
set
rs=server.createobject("adodb.recordset")
sql="select
*
from
us
where
mac='"&mac&"'"
'这里我用MAC来判断是否存在,当然你可以改成其它的
rs.open
sql,conn,1,3
if
not
rs.eof
then
response.write
"该MAC地址在数据库中已经存在"
response.end
end
if
rs.addnew()
rs("IP")=ip
rs("MAC")=mac
rs("USER")=user
rs("MINGZI")=mingzi
rs("BUMEN")=bumen
rs("sfsw")=sfsw
rs("cpu")=cpu
rs("nc")=nc
rs("yp")=yp
rs("pp")=pp
rs("bz")=bz
rs.update
response.write("<p
align='center'><font
color=red>添加成功!请返回</font></p>")
rs.close
set
rs
=
nothing
conn.close
set
conn=
nothing
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)