我的是三层结构的.net项目。
要根据母板页上面的下拉列表选择连接三个不同的数据库。
测试库。正常库。5.0版本前数据库。
如果动态连接数据库的方式是不是违反了三层的不能循环调用的标准啊???
哪在三层结构下可以实现数据库的动态连接吗?
要如何实现?
web.config和DBHelper这两个应该怎么写??
在线等望眼欲穿啊!!!
要根据母板页上面的下拉列表选择连接三个不同的数据库。
测试库。正常库。5.0版本前数据库。
如果动态连接数据库的方式是不是违反了三层的不能循环调用的标准啊???
哪在三层结构下可以实现数据库的动态连接吗?
要如何实现?
web.config和DBHelper这两个应该怎么写??
在线等望眼欲穿啊!!!
解决方案 »
- 求助:如何使用c#编辑SVG啊?(急!!)
- 关于通信方面的问题 这板块好像人多点 不知道有没人能解答下
- C#如何编程求解哈希表问题
- 如何往现有的pdf文件里,在某个坐标上追加一段字符串呢?
- c#中如何得到一个字符串中首字母的字符代码,类似VB中的Asc(string)函数
- 我已获得其他程序的句柄,请问如何遍例该程序的所有控件的句柄?
- 用C#写文件时,出现的怪毛病!!!郁闷!!
- The variable 'Mask' is either undeclared or was never assigned
- 在C#下使用用DTS.Package2的朋友看一下!
- 用vs.net做一个显示数据的例程,datagrid的双击事件中说:无法创建字段 forum_subject 的子列表。
- C#如何调用VC写的DLL(有点复杂的DLL)
- 关于WCF发布-订阅模式问题
web.config里可以这样
<Add key="db1" value="uid=sa,pwd=111,dbname=mydb,addr=."/>
<Add key="db2" value="uid=sa,pwd=222,dbname=mytestdb,addr=192.168.1.1"/>
...
<add name="con1" connectionString="连接字符串"/>
<add name="con2" connectionString="连接字符串"/>
<add name="con3" connectionString="连接字符串"/>
</connectionStrings>下拉列表选择的时候给连接数据库的方法传递con1,con2,con3之一,然后再连接数据库的方法里读取连接字符串
{
根据选
case 1:
连接数据库code或者函数
case 2:
连接数据库code或者函数
case 3:
连接数据库code或者函数
}<appsettings>
<add key= "connectionstring1" value="DATABASE...user...pwd........."/>
<add key= "connectionstring2" value="DATABASE...user...pwd........."/>
<add key= "connectionstring3"value="DATABASE...user...pwd........."/>
</appsettings>
{ public class DBHelper
{
private static SqlConnection sqlCon = null;
private static DBHelper dbHelper = null;
private static string sConnString = ConfigurationManager.ConnectionStrings["dd"].ToString();
//private static string sConnStringDS = ConfigurationManager.ConnectionStrings["DSCSYSConnectionString"].ToString();
//private static string sConnStringTE = ConfigurationManager.ConnectionStrings["TESTConnectionString"].ToString();
//private static string sConnStringHK = ConfigurationManager.ConnectionStrings["HKMBConnectionString"].ToString();
private DBHelper()
{
if (sqlCon == null)
{
sqlCon = new SqlConnection(sConnString);
}
}
/// <summary>
/// 获取DBHelper对象
/// </summary>
/// <returns></returns>
public static DBHelper GetInstance()
{
if (dbHelper == null)
{
dbHelper = new DBHelper();
}
return dbHelper;
}
/// <summary>
/// 打开连接
/// </summary>
private void Open()
{
if (sqlCon.State == ConnectionState.Closed)
{
sqlCon.Open();
}
}
/// <summary>
/// 关闭连接
/// </summary>
public void Close()
{
if (sqlCon.State == ConnectionState.Open)
{
sqlCon.Close();
}
}
/// <summary>
/// 根据SQL语句获取第一行第一列数据(Object)
/// </summary>
/// <param name="strSql">SQL 语句</param>
/// <returns></returns>
public object GetScalar(string strSql)
{
SqlCommand sqlCmd = new SqlCommand(strSql, sqlCon);
this.Open();
object objResult = sqlCmd.ExecuteScalar();
this.Close();
return objResult;
}
/// <summary>
/// 根据SQL语句获取只读只进对象(SqlDataReader)
/// </summary>
/// <param name="strSql">SQL 语句</param>
/// <returns></returns>
public SqlDataReader GetDataReader(string strSql)
{
SqlCommand sqlCmd = new SqlCommand(strSql, sqlCon);
this.Open();
SqlDataReader sdr = sqlCmd.ExecuteReader();
return sdr;
}
/// <summary>
/// 根据SQL语句及相关的参数数组获取只读只进对象(SqlDataReader)
/// </summary>
/// <param name="strSql">SQL 语句</param>
/// <param name="sqlParas">参数数组</param>
/// <returns></returns>
public SqlDataReader GetDataReader(string strSql, SqlParameter[] sqlParas)
{
SqlCommand sqlCmd = new SqlCommand(strSql, sqlCon);
sqlCmd.Parameters.AddRange(sqlParas);
this.Open();
SqlDataReader sdr = sqlCmd.ExecuteReader();
return sdr;
}
/// <summary>
/// 根据SQL语句及相关参数获取受影响的行数(int)
/// </summary>
/// <param name="strSql">SQL 语句</param>
/// <param name="sqlParas">参数数组</param>
/// <returns></returns>
public int GetNonQuery(string strSql, SqlParameter[] sqlParas)
{
SqlCommand sqlCmd = new SqlCommand(strSql, sqlCon);
sqlCmd.Parameters.AddRange(sqlParas);
this.Open();
int count = sqlCmd.ExecuteNonQuery();
this.Close();
return count;
}
/// <summary>
/// 根据SQL语句获取受影响的行数(int)
/// </summary>
/// <param name="strSql">SQL 语句</param>
/// <returns></returns>
public int GetNonQuery(string strSql)
{
SqlCommand sqlCmd = new SqlCommand(strSql, sqlCon);
this.Open();
int count = sqlCmd.ExecuteNonQuery();
this.Close();
return count;
}
}
}
public string Keystr = null;
private static string sConnString = ConfigurationManager.ConnectionStrings["+Keystr+"].ToString();==========================================
调的时候
DBHelper dbhelp =new DBHelper();
dbhelp.Keystr = this.dropdownlist.XXXXXXX.tostring(); 注(dropdownlist值符进来)
接着调你的连接数据库函数
要不要先把正常库关闭先?怎么关闭?直接用close()方法???