如何调用数据库连接类

mabuhong007 2012-12-10 03:13:26
我在app_data里面写好了数据库连接类如下:
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.SqlClient;

/// <summary>
/// DataBase 数据层类
/// </summary>
public class DataBase
{
public DataBase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//创建连接对象
private SqlConnection con;


// 打开数据库连接
private void open()
{

if (con == null)
{
con = new SqlConnection("Data Source=localhost;DataBase=shujuku;Integrated Security=True");
}
if (con.State == System.Data.ConnectionState.Closed)
con.Open();

}
//关闭数据库链接
private void close()
{
if (con != null)
con.Close();
}
//释放数据库链接资源
public void Dispose()
{
if (con != null)
{
con.Dispose();
con = null;

}

}
// 传入参数并且转换为SqlParameter类型
public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
}
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;

if (Size > 0)
param = new SqlParameter(ParamName, DbType, Size);
else
param = new SqlParameter(ParamName, DbType);

param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
param.Value = Value;
return param;
}


//执行参数命令文本(无数据库中数据返回)
public int RunProc(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCommand(procName, prams);
cmd.ExecuteNonQuery();
this.close();
return (int)cmd.Parameters["ReturnValue"].Value;
}
public int RunProc(string procName)
{
this.open();
SqlCommand cmd = new SqlCommand(procName, con);
cmd.ExecuteNonQuery();
this.close();
return 1;
}
//执行参数命令文本(有返回值)
public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName)
{
SqlDataAdapter dap = CreateDataAdaper(procName, prams);
DataSet ds = new DataSet();
dap.Fill(ds, tbName);
this.close();
return ds;
}

//得到执行成功返回值
public DataSet RunProcReturn(string procName, string tbName)
{
SqlDataAdapter dap = CreateDataAdaper(procName, null);
DataSet ds = new DataSet();
dap.Fill(ds, tbName);
this.close();
return ds;
}
//将命令文本添加到SqlDataAdapter
private SqlDataAdapter CreateDataAdaper(string procName, SqlParameter[] prams)
{
this.open();
SqlDataAdapter dap = new SqlDataAdapter(procName, con);
dap.SelectCommand.CommandType = CommandType.Text;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
dap.SelectCommand.Parameters.Add(parameter);
}

dap.SelectCommand.Parameters.Add(new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));

return dap;
}
//将命令文本添加到SqlCommand
private SqlCommand CreateCommand(string procName, SqlParameter[] prams)
{
this.open();
SqlCommand cmd = new SqlCommand(procName, con);
cmd.CommandType = CommandType.Text;    
if (prams != null)
{
foreach (SqlParameter parameter in prams)
cmd.Parameters.Add(parameter);
}
cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));

return cmd;
}

}

现在想问下我在注册页面里怎么调用这些个类,web.config里面没有数据库连接类(本人菜鸟,望指教!)
先谢过各位大哥大姐了
...全文
272 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
taozi_5188 2012-12-10
  • 打赏
  • 举报
回复
引用
实例化呗 DataBase db = new DataBase(); db.方法(参数);
Bule 2012-12-10
  • 打赏
  • 举报
回复
引用 3 楼 wdd283877224 的回复:
实例化呗 DataBase db = new DataBase(); db.方法(参数);
+1
马少华 2012-12-10
  • 打赏
  • 举报
回复
如果你是从外面拷来的文件,首先要包括到项目中来, 最好再给类的外层加一个你项目的命名空间。
wdd283877224 2012-12-10
  • 打赏
  • 举报
回复
实例化呗 DataBase db = new DataBase(); db.方法(参数);
dalmeeme 2012-12-10
  • 打赏
  • 举报
回复
这个类cs文件应该是在App_Code文件夹下的,直接使用就行了。
chenhongjun0624 2012-12-10
  • 打赏
  • 举报
回复
 DataBase db = new DataBase();
        db.RunProc("testProc");

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧