C#数据库连接类不工作
本文关键字:工作 数据库连接 | 更新日期: 2023-09-27 18:24:44
我正在学习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;
}
}
}
需要在之前初始化要填充的数据集
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;
}
当然,只有在调用此代码之前初始化了sqlString
和strCon
,这才能工作。这应该是假设的,因为您说错误发生在填充行
如果使用Mysql,则System.Data.DataSet 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对我帮助很大:)