如何编写程序使得数据库服务器变化时代码不需要重新编译

      这个学期我们有ERP选修课,给我们上课是上个学期教我们数据库的老师,两个周前他布置了一份实验作业,要求如下:“将连接所需要的内容配置在文件中。当数据库服务器变化时所开发的系统无须修改和重新编译。”前一段时间一直很忙,直到这个周他在检查,才匆匆忙忙地去做。才发现,原来自己对数据库竟然这么生疏了,以前跟同学一起做大作业的时候为了图快速完成,一直都是他做数据库方面的,我做网络通信方面的。认识到了这个问题后,这个学期还有一个软件工程的大作业,于是我主动要求承担数据库方面的工作。而ERP基本上都是关于数据库的,正好借ERP的实验课来好好复习一下数据库的知识,顺便也为不到一个月后的软考做准备吧。

      因为以前一直都是用C#做项目,比较容易上手。首先上网查了下资料,关于文件操作的,很久不动C#了,都忘记了,想当初为了做项目,就是边做边学,需要哪方面的知识就学哪方面,没有系统学过。

   1: //从配置文件中读取服务器名
   2: StreamReader sr = File.OpenText("server.ini");
   3: string serverName = sr.ReadLine();

      接下来,是关于数据库连接的问题。首先要引入

   1: using System.Data.SqlClient;
        然后连接数据库时,先定义三个成员变量,
   1: private SqlConnection objConnection;
   2: private SqlDataReader thisReader;
   3: private SqlCommand thisCommand;

      然后再在某个你想要的目录下,建立一个server.ini的配置文件,里面放上你的服务器名,格式为:“Server=服务器名”(不包括引号),再在所需要的地方填入以下代码:

   1: string strConnection = "uid=jerrychoi;password=jerrychoi;";
   2: strConnection += "initial catalog=erpdata;";
   3:  
   4: //从配置文件中读取服务器名
   5: StreamReader sr = File.OpenText("server.ini");
   6: string serverName = sr.ReadLine();
   7:  
   8: //string serverName = "Server=JERRYCHOI-PC\\SQLEXPRESS;";
   9:  
  10: strConnection += serverName;
  11: strConnection += "Connect Timeout=30";
  12: //MessageBox.Show(strConnection);
  13:  
  14: objConnection = new SqlConnection(strConnection);
  15: objConnection.Open();
  16: MessageBox.Show("连接数据库成功!");
  17:  
  18:  
  19: // Create command for this connection
  20: thisCommand = objConnection.CreateCommand();
  21:  
  22: // Specify SQL query for this command
  23: thisCommand.CommandText = "SELECT id, name from test";
  24:  
  25: // Execute DataReader for specified command
  26: thisReader = thisCommand.ExecuteReader();                    

      再接下就是在需要显示数据的地方显示数据,可把以下代码放入其中:

   1: if(thisReader.Read())
   2: {
   3:     // Output ID and name columns
   4:     textBox_id.Text = Convert.ToString(thisReader["id"]);
   5:     textBox_name.Text = Convert.ToString(thisReader["name"]);
   6: } 

      关于如何从数据库中读取数据,请参考以下教程,是《C#入门经典》的翻译作者发布的,这书我有,写得不错,推荐看下。

posted @ 2009-10-22 00:14  陆止于此 海始于斯  阅读(498)  评论(0编辑  收藏  举报