C#数据库连接类无法正常工作

时间:2014-09-28 10:09:47

标签: c#

我遵循C#数据库连接教程但是它们为连接类提供的代码有问题,它在dat_set上有一个错误,我假设需要将其设置为变量,但我不确定。看过代码后,教程提供了很多次我所拥有的完全相同的

错误就是这些行

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;
        }





    }
}

2 个答案:

答案 0 :(得分: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之后,这才有效。应该假设这是因为您说错误发生在填充行

答案 1 :(得分:0)


    System.Data.DataSet如果您使用 Mysql

,则不需要将MyDataSet()放入代码中

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

    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 帮助了我很多:))