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

ASP.NET连接sql2008数据库的实现代码

程序员文章站 2024-02-22 15:29:46
利用sqlconnection对象连接sql2000以上版本,并使用sqlcommand对象对数据库进行读取。 sqlcommand类概述:  用于对sql数...

利用sqlconnection对象连接sql2000以上版本,并使用sqlcommand对象对数据库进行读取。

sqlcommand类概述:

 用于对sql数据库执行sql语句或存储过程。

 命名空间:system.data.sqlclient

   程序集: system.data(在 system.data.dll中)

sqlcommand类的属性

1.commandtext

  获取或设置要对数据源执行的transact—sql语句或存储过程。

2. commandtype

获取或设置一个值,该值指示如何解释commandtext属性,commandtype默认为commandtype.text,表示执行sql语句,调用存储过程时需设commandtype.storedprocedure。3.connection

  获取或设置sqlcommand的实例使用的sqlconnection。

4.commandtimeout

  获取或设置在终止执行命令的尝试并生成错误之前的等待时间。

 sqlcommand类的方法

1.executenonquery:   通过该命令执行不要返回值的操作,例如update,insert,delete等sql命令,只是返回执行该命令所影响到表的行数。
2.executescalar: 可用来执行select查询,但返回的是一个单一的值,用于查询聚合,例如使用count(), sum(),等函数的sql指令。
3.executereader:  该方法返回一个datareader对象,内容为查询结果的内容集合。

以下通过sqlconnection连接sql2008,并执行数据简单操作的代码:

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;

using system.data.sqlclient;
using system.data;
using system.configuration;

public partial class _default : system.web.ui.page
{
  protected void page_load(object sender, eventargs e)
  {
    // 连接sql数据库
    string sqlconn = "data source=seebro-pc\\sqlexpress;initial catalog=supermarket;integrated security=true";
    sqlconnection myconnection = new sqlconnection(sqlconn);
    myconnection.open();

    //定义sqlcommand类
    sqlcommand mycommand = new sqlcommand();
    mycommand.connection = myconnection;
    mycommand.commandtype = commandtype.storedprocedure;
    mycommand.commandtext = "bytype";
    //存储过程传参
    sqlparameter parinput = mycommand.parameters.add("@type", sqldbtype.smallmoney);
    parinput.direction = parameterdirection.input;
    parinput.value = 2;

    sqldatareader myreader = mycommand.executereader();

    response.write("<table border=1 cellspaceing=0 cellpadding=2>");
    response.write("<tr bgcolor=#dab4b>");
    for (int i = 0; i < myreader.fieldcount; i++)
      response.write("<td>" + myreader.getname(i) + "</td>");
    response.write("</tr>");

    while (myreader.read())
    {
      response.write("<tr>");
      for (int i = 0; i < myreader.fieldcount; i++)
        response.write("<td>" + myreader[i].tostring() + "</td>");
      response.write("</tr>");
    }
    response.write("</table>");

    myreader.close();
    myconnection.close();
  }
}

改为执行sql指令后的代码,实现同样效果。

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;

using system.data.sqlclient;
using system.data;
using system.configuration;

public partial class _default : system.web.ui.page
{
  protected void page_load(object sender, eventargs e)
  {
    // 连接sql数据库
    string sqlconn = "data source=seebro-pc\\sqlexpress;initial catalog=supermarket;integrated security=true";
    sqlconnection myconnection = new sqlconnection(sqlconn);
    myconnection.open();

    //定义sqlcommand类
    sqlcommand mycommand = new sqlcommand("select * from product where product.价格 = 2", myconnection);
    sqldatareader myreader = mycommand.executereader();

    response.write("<table border=1 cellspaceing=0 cellpadding=2>");
    response.write("<tr bgcolor=#dab4b>");
    for (int i = 0; i < myreader.fieldcount; i++)
      response.write("<td>" + myreader.getname(i) + "</td>");
    response.write("</tr>");

    while (myreader.read())
    {
      response.write("<tr>");
      for (int i = 0; i < myreader.fieldcount; i++)
        response.write("<td>" + myreader[i].tostring() + "</td>");
      response.write("</tr>");
    }
    response.write("</table>");

    myreader.close();
    myconnection.close();
  }
}

运行效果:

ASP.NET连接sql2008数据库的实现代码

项目代码已上传。