.NET连接数据库以及基本的增删改查操作教程

一、前言

因为这学期选修的 .net 课程就要上机考试了,所以总结下.net 操作 SqlServer 数据的方法。(因为本人方向是 Java,所以对.net 的了解不多,但以下所写代码均是经过测试成功的),下面话不多说了,来一起看看详细的介绍吧。

二、.net 连接数据库

在web.config文件中配置数据库连接,代码写在<configuration></configuration>

 <appSettings>
 <add key="connstring" value="user id=sa; password=sa123456; database=dataset; server=(local)" />
 </appSettings>

其中 sa  为 SqlServer 数据库账号,sa123456 为数据库账号密码,dataset 位数据库名。

通过上面的代码大家不难看出这是通过SqlServer数据库的账号连接的。那么如果需要通过Windows身份认证连接呢?

 <appSettings>
 <add key="connstring" value="Data Source=.;Initial Catalog=dataset;Integrated Security=True"/>
 </appSettings>

其中,dataset 为数据库名。

配置好了之后,再在cs后台文件中使用 Connection 对象连接

String constr = ConfigurationManager.AppSettings["connstring"].ToString();
SqlConnection myconn = new SqlConnection(constr);

很明显,第一个句获取我们在 web.config 中配置的数据库的信息的字符串,然后 new 一个 SqlConnection 对象。

这个时候也许你会想,既然是获取配置文件中的字符串,那么可不可以直接在cs后台文件中写而不需要再配置文件中配置后再获取呢?答案是肯定的。

String constr = "Data Source=.;Initial Catalog=dataset;Integrated Security=True";
SqlConnection myconn = new SqlConnection(constr);

仔细对比下先前写的配置文件,就知道这两种方式的相同点了。

那么现在简单说下 Connection 对象是个什么。在 ADO.NET 中 Connection 对象的主要用途是打开和关闭数据库的连接,通过这个对象,可以对数据库进行访问和操作。

String constr = "Data Source=.;Initial Catalog=dataset;Integrated Security=True";
SqlConnection myconn = new SqlConnection(constr);
myconn.Open();
//相关数据库操作
myconn.Close();

Open 就是打开数据库,Close 就是关闭数据库。

三、.net 操作数据库

那么通过 Connection 对象打开数据库后怎么对数据库操作呢?在 Dao.Net 中提供了Command 对象,主要就是用来对数据库进行增、删、改、查的操作。

下面我们直接看个查找操作的例子:

String constr = "Data Source=.;Initial Catalog=dataset;Integrated Security=True";
   SqlConnection myconn = new SqlConnection(constr);
   myconn.Open();
   string sql = "select * from custom ";
   SqlCommand cmd = new SqlCommand(sql, sqlConnection);
   SqlDataReader dataReader = cmd.ExecuteReader();
   Show.Text = "<tr><td>学号</td><td>姓名</td><td>学院</td><td>年龄</td><td>昵称</td></tr>";
   while (dataReader.Read())
   {
    Show.Text = Show.Text + "<tr><td>" + dataReader[0].ToString()
     + "</td><td>" + dataReader[1].ToString()
     + "</td><td>" + dataReader[2].ToString()
     + "</td><td>" + dataReader[3].ToString()
     + "</td><td>" + dataReader[4].ToString() + "</td></tr>";

   }
   sqlConnection.Close();

通过上面这段代码,不难发现,在开启Connection对象后,首先我们需要写一段查询的sql语句:

   string sql = "select * from custom ";

然后,new 一个SqlCommand对象,参数是 sql 语句 和 Connection 对象 。

   SqlCommand cmd = new SqlCommand(sql, sqlConnection);

再然后,我们通过 SqlCommand 对象的 ExecuteReader 方法,执行查询语句,并返回一个DataReader 对象。

   SqlDataReader dataReader = cmd.ExecuteReader();

再再然后,就是将 DataReader 对象中的数据(也就是我们查询的数据)读取出来了

while (dataReader.Read())
   {
    Show.Text = Show.Text + "<tr><td>" + dataReader[0].ToString()
     + "</td><td>" + dataReader[1].ToString()
     + "</td><td>" + dataReader[2].ToString()
     + "</td><td>" + dataReader[3].ToString()
     + "</td><td>" + dataReader[4].ToString() + "</td></tr>";

   }

最后,当然是关闭我们的 Connection 对象了。

   sqlConnection.Close();

查询操作是通过 Command 对象的 ExecuteReader 方法来操作,那么增删改呢?

增删改的话就得用到 Command 对象的 ExecuteNonQuery 方法了。这个方法返回的是受影响的行数,也就是说如果操作失败,返回的是0。

还是看个增加数据的例子吧:

myconn.Open();
   String sql = "insert into custom values('" + uid.Text + "','" + uname.Text + "','" + udepart.Text
    + "'," + uage.Text + ",'" + uename.Text + "','" + upassword.Text + "')";
   SqlCommand cmd = new SqlCommand(sql, myconn);
   if (cmd.ExecuteNonQuery() > 0)
   {
    this.Response.Write("<script language='javascript'>alert('增加成功!')</script>");
   }
   else
   {
    this.Response.Write("<script language='javascript'>alert('添加失败!')</script>");
   }
   myconn.Close();

通过上面代码,不难发现,其实套路和我们写的查询差不多,就是sql语句不同和调用的Command对象不同而已。

但是,仔细看会发现这段代码是使用了 sql 语句拼接的。这种方式写起来比较乱(又是双引号又是单引号的),还有可能被 sql 注入。这个时候就会想,能不能有占位符呢?答案是肯定的。

myconn.Open();
   SqlCommand cmd = myconn.CreateCommand();
   cmd.CommandText = "insert into custom values(@uid,@uname,@udepart,@uage,@uename,@upassword)";
   cmd.Parameters.AddWithValue("@uid", uid.Text);
   cmd.Parameters.AddWithValue("@uname", uname.Text);
   cmd.Parameters.AddWithValue("@udepart", udepart.Text);
   cmd.Parameters.AddWithValue("@uage", uage.Text);
   cmd.Parameters.AddWithValue("@uename", uename.Text);
   cmd.Parameters.AddWithValue("@upassword", upassword.Text);
   if (cmd.ExecuteNonQuery() > 0)
   {
    this.Response.Write("<script language='javascript'>alert('增加成功!')</script>");
   }
   else
   {
    this.Response.Write("<script language='javascript'>alert('添加失败!')</script>");
   }
   myconn.Close();
   ShowAll();

这段代码与之前代码的不同之处在于:

1.使用 Connection 对象的 CreateCommand 方法创建了一个SqlCommand 对象。

   SqlCommand cmd = myconn.CreateCommand();

2.使用了Command 对象的 CommandText 属性写 sql 语句文本,当然也可以是存储过程的名称。

   cmd.CommandText = "insert into custom values(@uid,@uname,@udepart,@uage,@uename,@upassword)";

3.使用了Command 对象的 Parameters 属性 输入参数。

cmd.Parameters.AddWithValue("@uid", uid.Text);
   cmd.Parameters.AddWithValue("@uname", uname.Text);
   cmd.Parameters.AddWithValue("@udepart", udepart.Text);
   cmd.Parameters.AddWithValue("@uage", uage.Text);
   cmd.Parameters.AddWithValue("@uename", uename.Text);
   cmd.Parameters.AddWithValue("@upassword", upassword.Text);

嗯这样一改看起来就很舒服了^_^

修改、删除和增加的套路是差不多的。这里就不贴代码了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

您可能感兴趣的文章:

  • ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法
  • asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)
  • .NET(C#)连接各类数据库代码-集锦
  • ASP.NET 6种常用数据库的连接方法
  • C#利用ODP.net连接Oracle数据库的操作方法
  • asp.net中EXCEL数据导入到数据库的方法
  • ASP.NET2.0 SQL Server数据库连接详解
  • 教你Asp.net下使用mysql数据库的步骤
  • .Net连接Oracle数据库的实现代码
  • ASP.NET连接MySql数据库的2个方法及示例
时间: 2018-01-11

ASP.NET连接MySql数据库的2个方法及示例

方法一: 使用MySQL官方组件使用MySQL推出的 MySQL Connector/Net 组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也可以直接在配置文件的< assemblies>节点内添加下面的节点: 复制代码 代码如下: <add assembly="MySql.Data, Version=5.1.5.0, Culture=neutral, PublicKeyToken=C5687F

.NET(C#)连接各类数据库代码-集锦

1.C#连接连接Access 复制代码 代码如下: using System.Data;  using System.Data.OleDb;  ..  string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";  strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb";  OleDbConnection objConnection=new OleDbConn

教你Asp.net下使用mysql数据库的步骤

1. 首先需要安装mysql, 我们下载地址: http://www.jb51.net/softs/2193.html 或者去mysql.com官网都可以,一路next,安装好后,有个简单配置,提示有个设置登录密码和服务名称, 默认localhost,用户名root,密码自己设置. 2. 安装了mysql数据库后,需要一个管理工具,就像sqlserver的SQL Server Management Studio一样,推荐使用Navicat for MySQL, 下载地址:http://www.j

asp.net中EXCEL数据导入到数据库的方法

本文实例讲述了asp.net中EXCEL数据导入到数据库的方法.分享给大家供大家参考.具体分析如下: excel是办公中非常常用的一个办公表格了,但我们在开发中通常会需要直接把excel数据快速导入到数据库中了,这里整理了一个asp.net中EXCEL数据导入到数据库的例子供各位参考学习. 注意:EXCEL中的第一行不能导入. 下面是源码:IntoExcel.aspx: 复制代码 代码如下: <%@ Page  AutoEventWireup="true" CodeFile=&q

ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法

在ASP.NET开发的网站根目录,有一个名为web.config的文件,顾名思义,这是为整个网站进行配置的文件,其格式为XML格式.这里主要谈谈文件中的<connectionStrings>节. <connectionStrings>节是对连接到数据库的字符串进行配置,由于MS SQL Server与ASP.NET同属于微软的产品,因此是使用ASP.NET开发时首选的数据库是MS SQL Server,本文只讨论对MS SQL Server的连接字符串情况.第一种情况,本地开发时,

.Net连接Oracle数据库的实现代码

访问Oracle时客户端(或者web服务器)得安装一个Oracle的客户端,这个有点不爽,SQL Server不用呀,MySQL顶多来个MySql.Data.dll 就搞定.寻觅了很久找到一个相对苗条的客户端,才12M多.小巧实用呀.安装后如下: 一个类似查询分析器的连接与查询工具,一个配置文件(很重要). 启动连接工具输入帐号信息,对应的是连接字符串的user id,password,datasource 连接成功后就可以查询了,这玩意看起来想windows程序,貌似像是一个dos命令行工具,

asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)

在ASP.NET中,使用C#连接SQL数据库,并使用SQL语句查询,以前从来没有接触过C#,最近用到了,摸索了两天终于运行起来了,Mark一下,不喜勿喷 有两种方法:(说的是第一种方法不安全,我也不清楚^_^) 第一种方法: 复制代码 代码如下: //建立ASP.NET Web 应用程序,直接在Page_load函数中加入一下代码,貌似就可以用了 public void Page_Load(object sender, EventArgs e) { using (SqlConnection co

ASP.NET 6种常用数据库的连接方法

1.C#连接连接Access 程序代码:     复制代码 代码如下: using   System.Data; using   System.Data.OleDb;    .. string   strConnection="Provider=Microsoft.Jet.OleDb.4.0;";     strConnection+=@"Data   Source=C:BegASPNETNorthwind.mdb"; OleDbConnection   objCo

C#利用ODP.net连接Oracle数据库的操作方法

本文介绍了C#连接Oracle数据库的过程.通过instant client和ODP.net中的Oracle.DataAccess.dll,我们就可以方便的部署.net应用程序或者站点,而不需要安装Oracle客户端.接下来我们就介绍这一过程. 1. ODAC的安装 在oracle的官方网站上下载与你安装的oracle对应版本的ODAC. 下载地址:ODAC Download 下载好后解压安装,安装时不用安装全部的组件.主要安装以下组件: Oracle Instant Client Oracle

ASP.NET2.0 SQL Server数据库连接详解

Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection. SqlConnection类的对象连接SQL Server数据库:OracleConnection 类的对象连接Oracle数据库: OleDbConnection类的对象连接支持OLE DB的数据库,如Access:而OdbcConnection类的对象连接任何支持ODBC的数据库.与数据库的所有通讯最终都是通过Connection对象来完

ASP.NET2.0+SQL Server2005构建多层应用第1/4页

[推荐]ASP.NET2.0+SQL Server2005构建多层应用!!!!!@申请加分!@@! [sell=5]随着.NET 2.0的发布,将会使得使用ASP.NET 2.0来构建的Web应用越来越容易.使用ASP.NET 2.0和SQL Server 2005,将会比ASP.NET 1.1更方便地构建多层体系架构的web应用.本文,将使用ASP.NET 2.0和SQL Server 2005 (.net使用Visual Studio 2005 beta 2,SQL Server 2005使

Java中调用SQL Server存储过程详解

本文作者介绍了通过Java如何去调用SQL Server的存储过程,详解了5种不同的存储.详细请看下文 1.使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: 复制代码 代码如下: {call procedure-name} 作为实例,在 SQL Server 2005 AdventureWorks 示例数据库中创建以下存储过程: 复制代码 代码如下: CREATE PROCEDURE G

SQL SERVER 数据类型详解补充2

数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或Fa lse .On 或Off int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数.存储到数据库的几乎所有数值型的数据都可以用这种数据类型.这种数据类型在数据库里占用4个字节 smallint 整型 smallint 数据类型可以存储从- 215(-32768)到215

SQL Server FileStream详解

FILESTREAM是SQL Server 2008中的一个新特性,允许以独立文件的形式存放大对象数据,而不是以往一样将所有数据都保存到数据文件中.以往在对业务系统的文件进行管理时有两种方法,一种是将文件保存到服务器文件系统中,数据库中只保存了该文件的路径,在使用该文件时应用程序连接到服务器读取文件:另一种是将文件以varbinary(max)或image数据类型保存到SQL Server中.而SQL Server 2008提供了FILESTREAM,结合这两种方式的优点. FILESTREAM

sql server关键字详解大全(图文)

下面把sqlserver中cross apply和outer apply关键字具体介绍展示如下: 1.CROSS APPLY 和OUTER APPLY MSDN解释如下(个人理解不是很清晰): 使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数.表值函数作为右输入,外部表表达式作为左输入. 通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出. APPLY 运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表. APPLY 有两种形

ASP.NET2.0缓存(Cache)技术深入理解

ASP.NET2.0提供了一些新的用于提升程序性能的技术特性,其中,缓存技术是非常重要的一个特性,它提供了一种非常好的本地数据缓存机制,从而有效的提高数据访问的性能. 数据缓存(DataCaching)就是将数据暂存于内存缓存区中(有时也暂存于硬盘缓存区中)的一种技术.当数据本身改变得不怎么频繁,而被访问的频率又比较高时,采用这种技术将大大提高警惕数据访问的效率. 1.网页输出缓存 (1)加显缓存 <%@OutputCacheDuration="60"VaryByParam=no

基于tomcat配置文件server.xml详解

1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务,因为是入门示例,所以设置极其简单,只需修改$CATALINA_HOME/conf/server.xml文件为如下内容即可.其中大部分都采用了默认设置,只是在engine容器中添加了两个Host容器. <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SH

python 读取excel文件生成sql文件实例详解

python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以这次考虑通过python脚本来实现. 在此之前需要给python添加一个xlrd模块,这个模块是专门用来操作excel文件的. 在mac中可以通过easy_install xlrd命令实现自动安装模块 import xdrlib ,sys import xlrd def open_excel(fil

ASP.NET2.0 WebRource,开发微调按钮控件

现在.有许多开发人员已经在使用ASP.NET2.0的WebResource的功能了.WebResource允许我们嵌入资源到程序集中.包括图像,文本等. 在介绍WebResource就不得不介绍一下WebResource.axd,我们来看一下 script language="javascript"     src="WebResource.axd?a=s&r=WebUIValidation.js&t=631944362841472848"