C# 请参阅mySqlCommand中的mysqlconnection
我的连接按钮起作用了 参考这种方法 然后我添加了另一个按钮,该按钮从一个文本字段读取数据,该字段将执行一个SQL命令。问题是我不知道如何获取和使用连接方法 按钮代码 最后是connect类中的代码C# 请参阅mySqlCommand中的mysqlconnection,c#,sqlconnection,C#,Sqlconnection,我的连接按钮起作用了 参考这种方法 然后我添加了另一个按钮,该按钮从一个文本字段读取数据,该字段将执行一个SQL命令。问题是我不知道如何获取和使用连接方法 按钮代码 最后是connect类中的代码 > class connect > { > SqlConnection connector; > SqlDataReader rdr = null; > > public void askSQL (strin
> class connect
> {
> SqlConnection connector;
> SqlDataReader rdr = null;
>
> public void askSQL (string sqlQuestion)
> {
>
> SqlCommand cmd = new SqlCommand();
> cmd.CommandText = sqlQuestion;
> cmd.Connection = connector;
> try
> {
> rdr = cmd.ExecuteReader();
> while (rdr.Read())
> {
>
> }
>
> }
> catch (Exception e)
> {
> MessageBox.Show("Fel vid anslutningen!" + e);
> }
> }
我的错误消息是连接尚未正确初始化。对不起,语法错误和我的困惑。全新编程:)在第二个按钮单击事件中,您正在声明另一个连接对象。这与第一个按钮中的按钮不同。askSQL()方法希望连接已经初始化。为此,必须在第二个按钮事件中运行第一个按钮代码
private void askBtn_Click(object sender, EventArgs e)
{
sqlQuestion = sqlQuestiontF.Text;
username = initialTf.Text;
adress = adressTf.Text;
connect conn = new connect();
conn.myConnection(username, adress);
conn.askSQL(sqlQuestion);
}
我想你错过了代码中的connector.Open()
class connect
{
SqlConnection connector;
SqlDataReader rdr = null;
public void askSQL(string sqlQuestion)
{
try
{
using (connector = new SqlConnection("Your Connection String here"))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sqlQuestion;
cmd.Connection = connector;
rdr = cmd.ExecuteReader();
using (rdr)
{
while (rdr.Read())
{
}
}
}
}
catch (Exception ex)
{
if (connector.State == System.Data.ConnectionState.Open)
connector.Close();
MessageBox.Show("Fel vid anslutningen!" + e);
}
}
}
谢谢,成功了。现在我想知道如何检索从SqlQuery获得的数据,以及如何将其发送回view类。您知道如何以及最好使用什么(listbox等)来发回resultset吗?将datareader声明从askSQL方法中取出,并将其作为connect类的属性公开,然后可以从表单中访问它。在窗体上,使用datagridview显示结果。conn.Open()位于myConnection类中。我想把连接类和sql命令类分开。您可能知道sql查询的返回类型是什么吗?我的大脑正在努力想办法让答案回到屏幕上。
> class connect
> {
> SqlConnection connector;
> SqlDataReader rdr = null;
>
> public void askSQL (string sqlQuestion)
> {
>
> SqlCommand cmd = new SqlCommand();
> cmd.CommandText = sqlQuestion;
> cmd.Connection = connector;
> try
> {
> rdr = cmd.ExecuteReader();
> while (rdr.Read())
> {
>
> }
>
> }
> catch (Exception e)
> {
> MessageBox.Show("Fel vid anslutningen!" + e);
> }
> }
private void askBtn_Click(object sender, EventArgs e)
{
sqlQuestion = sqlQuestiontF.Text;
username = initialTf.Text;
adress = adressTf.Text;
connect conn = new connect();
conn.myConnection(username, adress);
conn.askSQL(sqlQuestion);
}
class connect
{
SqlConnection connector;
SqlDataReader rdr = null;
public void askSQL(string sqlQuestion)
{
try
{
using (connector = new SqlConnection("Your Connection String here"))
{
SqlCommand cmd = new SqlCommand();
cmd.CommandText = sqlQuestion;
cmd.Connection = connector;
rdr = cmd.ExecuteReader();
using (rdr)
{
while (rdr.Read())
{
}
}
}
}
catch (Exception ex)
{
if (connector.State == System.Data.ConnectionState.Open)
connector.Close();
MessageBox.Show("Fel vid anslutningen!" + e);
}
}
}