欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.net(c#)用类的思想实现插入数据到ACCESS例子

程序员文章站 2023-10-31 10:30:52
昨天写了一半,一直没弄清楚当access数据库的连接代码写成类的时候路径该怎么写,搞了半天,还是用绝对路径解决了,似乎server.mappath没法在cs文件中使用. 要...
昨天写了一半,一直没弄清楚当access数据库的连接代码写成类的时候路径该怎么写,搞了半天,还是用绝对路径解决了,似乎server.mappath没法在cs文件中使用.

要实现的功能如下:

尽量用类的思想来完成数据的插入,因为这个例子简单,所以我也就不多说什么.大家自己看代码,不懂的可以到论坛交流.

1、首先是access数据库的设计,数据库名:mydata,表名:student

字段名称                    数据类型
sid                           自动编号
sname                       文本
score                          数字
2、建立插入的页面default.aspx,具体代码如下:

<%@ page language="c#" debug="true" autoeventwireup="true"  codefile="default.aspx.cs" inherits="_default" %>

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:label id="label1" runat="server" text="姓名"></asp:label>
        <asp:textbox id="tbxname" runat="server"></asp:textbox><br />
        <br />
        <asp:label id="label2" runat="server" text="成绩"></asp:label>
        <asp:textbox id="tbxscore" runat="server"></asp:textbox><br />
        <br />
        <asp:button id="btninsert" runat="server" onclick="btninsert_click" text="插入数据" />
</div>
    </form>
</body>
</html>


3、双击default.aspx进入default.aspx.cs,代码如下:

default.aspx.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;

public partial class _default : system.web.ui.page 
{
    protected void page_load(object sender, eventargs e)
    {

    }
    protected void btninsert_click(object sender, eventargs e)
    {
        student mystu = new student();

        mystu.sname = this.tbxname.text;
        mystu.score = convert.toint32(this.tbxscore.text);
        int i= myclass.insertscore(mystu);
        if (i == 1)
        {
            response.write("插入成功");
        }
        else
        {
            response.write("插入失败");
        }
    }
}


4、在app_code建立两个类,一个是myclass.cs,另一个是student.cs,

myclass.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.oledb;

/// <summary>
/// myclass 的摘要说明
/// </summary>
public class myclass
{

 public myclass()
 {
  //
  // todo: 在此处添加构造函数逻辑
  //
 }
    public static oledbconnection creatcon()
    {//data source=后面请写你自己的数据库的绝对路径
        return new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=c:/documents and settings/nan/my documents/visual studio 2005/websites/website3/app_data/mydata.mdb");
    }
    public static int insertscore(student mystu)
    {
            string cmdtext = "insert into student(sname,score) values('" + mystu.sname + "','" + mystu.score + "')";
            oledbconnection con = myclass.creatcon();
            con.open();
            oledbcommand cmd = new oledbcommand(cmdtext, con);
            int result = convert.toint32(cmd.executenonquery());
            con.close();
            return result;

    }
}


student.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;

/// <summary>
/// student 的摘要说明
/// </summary>
public class student
{
    public string sname;
    public int score;
}