2014-09-28 71 views
0

我遵循C#数据库连接教程,但是它们为连接类提供的代码有问题,它在我假设需要设置为变量的dat_set上有错误,我不确定。说完看着代码,此教程提供了很多次我有什么是完全一样的C#数据库连接类不工作

的错误是这些线路

da_1.Fill(dat_set, "Table_Data_1"); 
return dat_set; 

这里是我有

using System.Data.Sql; 
using System.Data.SqlClient; 
using System.Data; 

namespace JBT 
{ 
    class DBConnect 
    { 
     private string sqlString; 
     private string strCon; 
     System.Data.SqlClient.SqlDataAdapter da_1; 

     public string Sql 
     { 
      set { sqlString = value; } 
     } 

     public string connection_string 
     { 
      set { strCon = value; } 
     } 

     public System.Data.DataSet GetConnection 
     { 
      get 
      { return MyDataSet(); } 
     } 

     private System.Data.DataSet MyDataSet() 
     { 
      System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(strCon); 

      con.Open(); 

      da_1 = new System.Data.SqlClient.SqlDataAdapter(sqlString, con); 
      da_1.Fill(dat_set, "Table_Data_1"); 
      con.Close(); 

      return dat_set; 
     } 





    } 
} 
+0

你在哪里复制此代码?它在这里吗? http://www.homeandlearn.co.uk/csharp/csharp_s12p6.html(似乎是一个确切的复制和粘贴) – Arran 2014-09-28 10:11:45

+3

你显示错误发生的地方,但你不说错误是什么。 – phoog 2014-09-28 10:12:12

回答

1

你想要的数据集填充之前需要初始化

private System.Data.DataSet MyDataSet() 
    { 
     System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(strCon); 

     con.Open(); 

     da_1 = new System.Data.SqlClient.SqlDataAdapter(sqlString, con); 
     System.Data.DataSet dat_set = new System.Data.DataSet(); 
     da_1.Fill(dat_set, "Table_Data_1"); 
     con.Close(); 
     return dat_set; 
    } 

当然,这只能工作在调用此代码之前,您已初始化了sqlStringstrCon。这应该是假设,因为你说,在填充线

+0

ahhh我完全错过了。为此欢呼 – 2014-09-28 10:18:07

0


System.Data.DataSet中MyDataSet()发生错误是不是你有什么把你的代码,如果你正在使用mysql的

首先初始化代码。 然后写入方法来打开和关闭连接。 现在您已准备好进行数据库连接。

public class DbConnection 
    { 
    private MySqlConnection connection; 
    private string server; 
    private string database; 
    private string uid; 
    private string password; 

    private void initialize() 
    { 
     server = "localhost"; 
     database = "yourdatabase"; 
     uid = "root"; 
     password = ""; 
     string connectionString = "server=" + server + ";database=" + database + ";uid=" + uid + ";password=" + password + ";"; 

     connection = new MySqlConnection(connectionString); 
    } 

    //open connection 

    private bool openConnection() 
    { 

     try 
     { 
      connection.Open(); 
      return true; 
     } 
     catch(MySqlException ex) 
     { 
      switch(ex.Number) 
      { 
        case 0: 
        MessageBox.Show("Cannot connect to server. Contact administrator"); 
        break; 

        case 1045: 
        MessageBox.Show("Invalid username/password, please try again"); 
        break; 
      } 
      return false; 
     } 



    } 
如果你想开发完整的数据库连接使用本网站

http://www.codeproject.com/Articles/43438/Connect-C-to-MySQL 帮了我很多:)