现在遇到一个问题,就是我写了一个方法。会根据不同客户ID返回不同的数据库链接串。但是,我想在程序中的某个类里设置并初始化sqlconnect对象。其他模块直接调用该对象就可以。不需要每个页面在实例化sqlconnect。但问题是,如何在那个类中获取当前USERID呢?举个例子
a.cspublic class a
{
SqlConnection conn=new SqlConnection ("xxx"); //就是XXX这里根据URL传来的USERID获取不同链接串}其他模块能够直接用conn如何解决?
a.cspublic class a
{
SqlConnection conn=new SqlConnection ("xxx"); //就是XXX这里根据URL传来的USERID获取不同链接串}其他模块能够直接用conn如何解决?
这个我知道。也许我描述的不准确。现在问题是。其他模块要调用这个公共的CONN。那么这个CONN放到哪里?放到类里?其他页面怎么调用? 不同用户访问,初始化这个CONN会不会冲突?
public string connstring = "";其它地方根据这个connstring 去创建Connection。
一般不会所有的人直接用一个Connection,如果大家同时用,一个人把这个connection关闭了,别人就会出现问题了。这connstring也可以放到数据库的专门的配置表里面去。
{
public static void getTable(string id)
{
if(id=="564564")
{
constr = ""
}
}
}
那么每个模块在使用CONN时都要先调用getTable()??岂不是很麻烦?
让他返回sqlconnnection
通过传值不同的ID
这样就可以啦
问题是
这种需求很怪
你有几个数据库啦
这样搞
一个网站 了不起几个数据库
/// <summary>
/// 数据连接类
/// </summary>
public class Connection
{
/// <summary>
/// 获得连接对象
/// </summary>
/// <returns>返回连接对象</returns>
public static SqlConnection GetConnection()
{
//从配置文件里读取连接字符串
string conn = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
return new SqlConnection(conn);
}
}
using System;
using System.Text;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Odbc;
using System.Data.OleDb;
using System.Data.SqlClient;namespace ReagentDal
{
/// <summary>
/// 数据访问类
/// </summary>
public class ZhLuDbHelp
{
/// <summary>
/// 获取数据库连接字符串
/// </summary>
private string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
/// <summary>
/// 获取或设置连接字符串
/// </summary>
public string ConnectionString
{
get { return connectionString; }
set { connectionString = value; }
}
/// <summary>
/// sqlserver连接对象
/// </summary>
private SqlConnection sqlConn;
/// <summary>
/// Odbc连接对象
/// </summary>
private OdbcConnection odbConn;
/// <summary>
/// OleDb连接对象
/// </summary>
private OleDbConnection oleConn;
/// <summary>
/// 默认构造函数,初始化SqlConnection
/// </summary>
public ZhLuDbHelp()
{
this.sqlConn = new SqlConnection(connectionString);
}
/// <summary>
/// 构造函数,初始化各种连接对象
/// </summary>
/// <param name="type">0 表示 SqlConnection;1表示 OdbcConnection;2 表示 OleDbConnection;其它 表示 SqlConnection</param>
public ZhLuDbHelp(int type)
{
if (type == 0)
{
this.sqlConn = new SqlConnection(connectionString);
}
else if (type == 1)
{
this.odbConn = new OdbcConnection(connectionString);
}
else if (type == 2)
{
this.oleConn = new OleDbConnection(connectionString);
}
else
{
this.sqlConn = new SqlConnection(connectionString);
}
}
}