在C#中编制了大量界面,多数界面都需要与数据库交互,复制粘贴大量数据库连接字符串非常繁琐,且IP变化又需要进行大量修改。
原始连接字符串代码
添加引用
#region 引用
using System.Data.SqlClient;
using System.Data.Sql;
#endregion
写连接字符串
//数据连接最基本需要的两个对象
private SqlConnection conn = null;
private SqlCommand cmd = null;
//private SqlDataAdapter adapter = null;
//为了方便,设为全局对象的sql语句
SqlDataAdapter sda = null;
DataTable dt = null;
private string sql = null;
//private string connStr = "";
//公用 打开数据库的方法
public void openDatabase()
{
conn = new SqlConnection();
conn.ConnectionString = "Data Source=192.168.1.103,1433;initial catalog=Processingdb;User ID =sa;password= ";
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
}
调用连接字符串
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
openDatabase();
sql = "select * from 表 where 字段 = XXXX;
cmd = new SqlCommand(sql, conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
}
将数据库连接字符串写成类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#region 引用
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data;
#endregion
namespace QueryTestCase
{
public class MyDBConnection
{
public static DataTable myDBConnection(string sqlConnect)
{
SqlConnection conn = new SqlConnection();
conn = new SqlConnection();
conn.ConnectionString = "Data Source=192.168.1.108,1433;initial catalog=Processingdb;User ID =sa;password= ";
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
DataTable dt = new DataTable();
dt.Clear();
SqlCommand cmd = new SqlCommand(sqlConnect, conn);
conn.Close();
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
return dt;
}
}
}
调用时
参数初始化
//数据连接最基本需要的两个对象
DataTable dt = null;
DataTable dt1 = null;
private string sql = null;
调用类
sql = "select * from 表名";
dt = MyDBConnection.myDBConnection(sql);