C# ASP.NET 操作数据库的基本方法
来源:互联网 发布:知乎 杨烁 油腻 编辑:程序博客网 时间:2024/06/16 00:28
首先要装好vs2010与sqlserver 2008 (其余版本也行,我觉得这两个没什么问题)
安装过程参看其他人的博客,很费时间,而且容易…… (所以先备份好系统)
sqlserver 2008 先新建数据库 如 dormitory 建立一张表 userinfo
建表的时候可能有各种错误,请自行解决。
下面主要讲解C#连接数据库的部分。
vs中文件->新建->网站->ASP.NET网站 (自己在下面设置目录和项目名字) 然后就生成了一个项目
(如果建立的目录和我下面引用的头文件不一样 是因为我建立的是 .net3.5 其实默认的2.0也可以)
看一下案例示范目录(我只增加了一个 sqlBaseDao.cs 文件)
web.config 文件里面有很多东西,找到debug='false'的地方改为true。毕竟我们会遇到很多错误的地方,让人家帮我们显示运行时的错误也好。
然后就是设置连接字符串:
找到<connectionStrings />地方删掉,改成下面的 配置
<!--<connectionStrings />-->
<connectionStrings>
<add name="dormitoryConnectionString" connectionString="Data Source=XXX-PC\DATAMY;Initial Catalog=XXX;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
还没说完,connectionString后面的字符串(我写的是我的),劝大家自己在 Default.aspx 的设计模式下 拖一个DataList控件然后 选择数据源->数据库->新建连接->选择你自己的数据库 看下图得到连接字符串。
sqlBaseDao.cs 内容如下
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Configuration;using System.Data.SqlClient;/// <summary>///sqlBaseDao 的摘要说明/// </summary>public class sqlBaseDao{ string connectionString; SqlConnection connection; SqlCommand cmd;public sqlBaseDao(){ connectionString = WebConfigurationManager.ConnectionStrings["dormitoryConnectionString"].ConnectionString; } public void closeConnection() { if (connection.State != System.Data.ConnectionState.Closed) { connection.Close(); } } /* 前面传来类似的 需要传参的 string sql = "select * from nb_file WHERE db_nid<>0 and db_type=@type and db_verify=1 "; Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("type", false); */ //没有parameters的时候就设为null private void prepareFunc(string sql, Dictionary<string, object> parameters) { //打开数据库连接 connection = new SqlConnection(connectionString); cmd = new SqlCommand(); cmd.Connection = connection; cmd.CommandText = sql; if (parameters != null) { foreach (string key in parameters.Keys) { SqlParameter parameter = new SqlParameter(key, parameters[key]); cmd.Parameters.Add(parameter); } } } /// <summary> /// 这个函数用来执行除了select 以外的程序,返回值是影响的行数,一般可以不用 /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> /// <returns></returns> public int sqlExecuteChange(string sql, Dictionary<string, object> parameters) { prepareFunc(sql, parameters); try { connection.Open(); return Convert.ToInt32(cmd.ExecuteNonQuery()); } finally { connection.Close(); } } /// <summary> /// 这个语句用来执行select的语句 /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> /// <returns></returns> public SqlDataReader sqlExecuteQuery(string sql, Dictionary<string, object> parameters) { prepareFunc(sql, parameters); try { connection.Open(); return cmd.ExecuteReader(); } finally { //connection.Close(); } } /// <summary> /// 仅仅返回查询结果集中的第1行第1列 /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> /// <returns></returns> public int sqlExecuteQueryFirst(string sql, Dictionary<string, object> parameters) { prepareFunc(sql, parameters); try { connection.Open(); return Convert.ToInt32(cmd.ExecuteScalar()); } finally { //connection.Close(); } }}
Default.aspx.cs 内容如下
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;public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { sqlBaseDao bd = new sqlBaseDao(); string sql = "select * from userinfo;"; SqlDataReader dt = bd.sqlExecuteQuery(sql, null); /* 发现了把 xs 本来没有出现,结果可以使用,是应为前台有一个 id="xs" runat="Server" 它在任何HTML标签都行,如示例中 的<div></div>标签 */ while (dt.Read()) { xs.InnerText += dt["uid"];//"uid"列 xs.InnerText += dt[2];//两种方法 2列 } bd.closeConnection(); }}
Default.aspx 的 源程序如下 (看项目的下面,有设计(拖控件实现),拆分,源(代码实现))
<%@ Page Language="C#" 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 id="xs" runat="Server"> 你好啊!后面出来的数据库中的数据<br /> </div> </form></body></html>
然后F5(运行)浏览器上就出现了结果
至于前台的设计以及与后台的交互,是可以完全通过拖控件实现的,只是网站的移植性不好。
- C# ASP.NET 操作数据库的基本方法
- 学习Asp.Net应当知道的基本数据库操作语句
- 学习Asp.Net应当知道的基本数据库操作语句
- C# asp.net 操作ACCESS 数据库 类库
- C#操作SQL Server数据库 Asp.net
- ASP.NET + C#读取ACCESS数据库内容的简单方法
- ADO.net 中 数据库操作的基本方法
- ASP.NET 操作MySQL数据库的方法说明
- 最简单的asp.net 操作 access 数据库方法
- ASP.NET操作Oracle数据库方法
- ASP.NET操作Oracle数据库方法
- ASP.NET 基本操作
- ASP.NET中基本的图像操作
- ASP.NET gridview 的基本操作
- ASP.NET中cookie的基本操作
- ASP.NET的数据库基本访问
- asp.net 数据库操作
- ASP.NET操作数据库
- 自定义控件--仿QQ表情面板
- IOS学习之路 之 icon 启动画面
- POJ 1155 TELE(树形DP)
- showBusyCursor="true"
- 关联、组合、聚合、依赖关系比较
- C# ASP.NET 操作数据库的基本方法
- 远程连接Oracle数据库
- 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第9节))
- 我的个人知识管理工具一览及相关经验技巧
- 【深搜】汽车的最终位置
- Windows XP、Windows Vista 启动过程详解(国内很难找到这么详细的)
- 算法与数据结构之十----内核中的链表操作学习
- C#里面的类和结构的区别
- 邓仲祥:神奇魅力的太子山