下面是类的原代码using System;using System.Collections;using System.Collections.Specialized;using System.Runtime.Remoting.Messaging;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace LTP.SQLServerDAL{/// <summary>/// ADO.NET数据库操作基础类。/// </summary>public abstract class DbManagerSQL{ //数据库连接字符串 protected static string connectionString = ConfigurationSettings.AppSettings["ConnectionString"]; public DbManagerSQL() { // // TODO: 在此处添加构造函数逻辑 // } /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString"></param> /// <returns></returns> public static int ExecuteSql(string SQLString) { using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand cmd = new SqlCommand(SQLString,connection)) { try { connection.Open(); int rows=cmd.ExecuteNonQuery(); return rows; } catch(System.Data.SqlClient.SqlException E) { throw new Exception(E.Message); } } } } /// <summary> /// 执行两条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLString1"></param> /// <param name="SQLString2"></param> public static void ExecuteSqlTran(string SQLString1,string SQLString2) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection=connection; SqlTransaction tx=connection.BeginTransaction(); cmd.Transaction=tx; try { cmd.CommandText=SQLString1; cmd.ExecuteNonQuery(); cmd.CommandText=SQLString2; cmd.ExecuteNonQuery(); tx.Commit(); } catch(System.Data.SqlClient.SqlException E) { tx.Rollback(); throw new Exception(E.Message); } finally { cmd.Dispose(); connection.Close(); } } } /// <summary> /// 执行多条SQL语句,实现数据库事务,每条语句以“;”分割。 /// </summary> /// <param name="SQLStringList"></param> public static void ExecuteSqlTran(string SQLStringList) { using (OdbcConnection conn = new OdbcConnection(connectionString)) { conn.Open(); OdbcCommand cmd = new OdbcCommand(); cmd.Connection=conn; OdbcTransaction tx=conn.BeginTransaction(); cmd.Transaction=tx; try { string [] split= SQLStringList.Split(new Char [] { ';'}); foreach (string strsql in split) { if (strsql.Trim()!="") { cmd.CommandText=strsql; cmd.ExecuteNonQuery(); } } tx.Commit(); } catch(System.Data.Odbc.OdbcException E) { tx.Rollback(); throw new Exception(E.Message); } } } /// <summary> /// 执行带一个存储过程参数的的SQL语句。 /// </summary> /// <param name="SQLString"></param> /// <param name="content"></param> /// <returns></returns> public static int ExecuteSql(string SQLString,string content) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(SQLString,connection); System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter ( "@content", SqlDbType.NText); myParameter.Value = content ; cmd.Parameters.Add(myParameter); try { connection.Open(); int rows=cmd.ExecuteNonQuery(); return rows; } catch(System.Data.SqlClient.SqlException E) { throw new Exception(E.Message); } finally { cmd.Dispose(); connection.Close(); } } } /// <summary> /// 向数据库里插入图像格式的字段 /// </summary> /// <param name="strSQL"></param> /// <param name="fs"></param> /// <returns></returns> public static int ExecuteSqlInsertImg(string strSQL,byte[] fs) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(strSQL,connection); System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter ( "@fs", SqlDbType.Image); myParameter.Value = fs ; cmd.Parameters.Add(myParameter); try { connection.Open(); int rows=cmd.ExecuteNonQuery(); return rows; } catch(System.Data.SqlClient.SqlException E) { throw new Exception(E.Message); } finally { cmd.Dispose(); connection.Close(); } } } /// <summary> /// 执行一条计算查询结果语句,返回查询结果(整数)。 /// </summary> /// <param name="strSQL"></param> /// <returns></returns> public static int GetCount(string strSQL) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(strSQL,connection); try { connection.Open(); SqlDataReader result = cmd.ExecuteReader(); int i=0; while(result.Read()) { i=result.GetInt32(0); } result.Close(); return i; } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { cmd.Dispose(); connection.Close(); } } } /// <summary> /// 执行一条计算查询结果语句,返回查询结果(object)。 /// </summary> /// <param name="SQLString"></param> /// <returns></returns> public static object GetSingle(string SQLString) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(SQLString,connection); try { connection.Open(); object obj = cmd.ExecuteScalar(); if((Object.Equals(obj,null))||(Object.Equals(obj,System.DBNull.Value))) { return null; } else { return obj; } } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { cmd.Dispose(); connection.Close(); } } } /// <summary> /// 执行查询语句,返回SqlDataReader /// </summary> /// <param name="strSQL"></param> /// <returns></returns> public static SqlDataReader ExecuteReader(string strSQL) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand cmd = new SqlCommand(strSQL,connection); SqlDataReader myReader; try { connection.Open(); myReader = cmd.ExecuteReader(); return myReader; } catch(System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { cmd.Dispose(); connection.Close(); } } } /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString"></param> /// <returns></returns> public static DataSet Query(string SQLString) { using (SqlConnection connection = new SqlConnection(connectionString)) { DataSet ds = new DataSet(); try { connection.Open(); SqlDataAdapter command = new SqlDataAdapter(SQLString,connection); command.Fill(ds,"ds"); } catch(System.Data.SqlClient.SqlException ex) { throw new Exception(ex.Message); } return ds; } } #region 存储过程操作 /// <summary> /// 运行存储过程 /// </summary> /// <param name="storedProcName"></param> /// <param name="parameters"></param> /// <returns></returns> public static SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters ) { using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataReader returnReader; connection.Open(); SqlCommand command = BuildQueryCommand( connection,storedProcName, parameters ); command.CommandType = CommandType.StoredProcedure; returnReader = command.ExecuteReader(); //Connection.Close(); return returnReader; } } private static SqlCommand BuildQueryCommand(SqlConnection connection,string storedProcName, IDataParameter[] parameters) { SqlCommand command = new SqlCommand( storedProcName, connection ); command.CommandType = CommandType.StoredProcedure; foreach (SqlParameter parameter in parameters) { command.Parameters.Add( parameter ); } return command; } public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName ) { using (SqlConnection connection = new SqlConnection(connectionString)) { DataSet dataSet = new DataSet(); connection.Open(); SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters ); sqlDA.Fill( dataSet, tableName ); connection.Close(); return dataSet; } } #endregion }}不太会用这里的编辑器
如果大家看着吃力可以到以下网址
http://www.soubook.com/viewthread.php?tid=1794&extra=
我的qq是9424106
回帖或者发给我qq都好
如果大家看着吃力可以到以下网址
http://www.soubook.com/viewthread.php?tid=1794&extra=
我的qq是9424106
回帖或者发给我qq都好
解决方案 »
- asp.net中如何写出一个警告框,有“确定”和“取消”两个按钮?
- 老生常谈[关于asp.net的性能问题大家来讨论一下]
- 请大家推荐一本实用 详细的Asp.Net 2.0的书
- ASP.NET能在VS环境下执行,但是到IIS里面在IE下点击ImageButton或者LinkButton控件按钮,时不时的才能运行出结果,IE反应时间很长
- 控制显示图片大小得问题,高手帮忙!!
- setTimeout的失效问题,无论时间设成多大,都是直接跳转 ,怎么回事?
- ASP。NET 的代码量用什么工具统计?
- 奇怪的问题,希望大家来解决(顶者有分,解决了马上结贴)
- 急,这问题到底怎么解决!!
- Page_Load事件只执行一次,求解....
- 急啊,请教高手啊,回车确认的问题。
- GridView绑定关联
但是具体不知道怎么用,谁能给我写个简单的用法啊
假设我的数据库名字是testdb
数据表user内含字段(userid,username,password,age,regtime)
谁能给我个用户注册,登录,编辑信息,删除四个操作的具体页面代码啊
配置连接
<connectionStrings>
<add name="pubsConnectionString" c
providerName="System.Data.SqlClient" />
</connectionStrings>
userlogin.aspx 文件<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="userlogin.aspx.cs" Inherits="外贸销售系统.userlogin" %><!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:TextBox ID="txtusername" runat="server"></asp:TextBox> <asp:TextBox ID="txtpassword" runat="server"></asp:TextBox> <asp:Button ID="btnlogin" runat="server" Text="登录" /> </div> </form></body></html>
复制代码userlogin.aspx.cs原始代码,using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace 外贸销售系统{ public partial class userlogin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnlogin_Click(object sender, EventArgs e) { } }}
这句以前的都是执行SQL语句的,有一条的,多条的(可能代事务的),还有带参数的SQL语句
下面都是执行存储过程
这只是一个很简单的方法封装(这句,我也不知说的对不),我一般都这样用的传指定的参数就行了
和最普通的ADO的用法是差不多的
里面也只有几个知识点,SQL语句,有参数的SQL语句,事务,存储过程 有的是查一条,有的是查数据集,有的增加
下面是一个有参数的SQL语句的例子,这条语句也可以做成存储过程 string query = "Insert Into Dept_Manage (dept_name,dept_parentid) Values (@dept_name,@dept_parentid);";
string connect = "server=.;pwd=lyk;uid=sa;database=es";
using (SqlConnection conn = new SqlConnection(connect))
{
SqlCommand cmd = new SqlCommand(query, conn);
SqlParameter[] para = new SqlParameter[]
{
new SqlParameter ("@dept_parentid",1),
new SqlParameter ("@dept_name","lyk")
};
cmd.Parameters.AddRange(para);
conn.Open();
cmd.ExecuteNonQuery();
}
//这里,你到你的web.config文件中配置好名为"ConnectionString“的AppSettings节点,也就是数据库链接字符串其它的方法,如
/// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name= "SQLString "> </param> /// <returns> </returns> public static int ExecuteSql(string SQLString)
这种方法一你看好对方的解释,二要看对方要求传递的参数(包括类型和猜测它包括的内容是什么),三要看返回的数据类型
//类是抽象的,不可实例化,方法是静态的,可以直接调用如
int num=DbManagerSQL.ExecuteSql("SELECT COUNT(*) FROM YourTableName");