Я пытаюсь создать класс, который я могу использовать в своем приложении, чтобы легко подключиться к моей базе данных и запускать запросы по мере необходимости. Я нашел this сообщение, но он не совсем работает, как я ожидаю.Подключение к базе данных
Вот мой класс:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
//a class that returns a connection to the database
namespace epaCUBE_Utility_Tool
{
public class epaCUBE_DB
{
public static SqlConnection GetConnection()
{
string str = "user id=MyUserName;" +
"password=MyPassword;server=myServer;" +
"database=myDatabase; " +
"connection timeout=30";
SqlConnection con = new SqlConnection(str);
con.Open();
return con;
}
}
}
и вот как я пытаюсь использовать:
private void button1_Click(object sender, EventArgs e)
{
var connection = epaCUBE_DB.GetConnection();
connection.Open();
SqlDataReader rdr = null;
string CommandText = "SELECT Field1, Field2 FROM TableName";
SqlCommand cmd = new SqlCommand(CommandText, connection);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
this.comboBox1.Items.Add(rdr["Field1"].ToString() +
": " + rdr["Field2"].ToString());
}
connection.Close();
}
, когда я нажимаю кнопку, я получаю сообщение об ошибке
InvalidOperationException: соединение не было закрыто. Текущее состояние соединения открыто.
Что я делаю неправильно? Спасибо, Лесли
Да, я только что заметил, что !!! Благодаря! – Leslie