[英]WinForms: Connection must be valid and open
表单上有一个DataGridView
元素,其中有一个连接的SQL
表。 表单上还有几个用于输入数据的元素和一个按钮,单击时应直接执行添加数据的过程。提前致谢。 这是代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Configuration;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Data.SqlClient;
namespace Курсовая.Приложение
{
public partial class ProfileForm : Form
{
public ProfileForm()
{
InitializeComponent();
}
private void ProfileForm_Load(object sender, EventArgs e)
{
TouristGridView.DataSource = GetTouristList();
}
private DataTable dtTourist = new DataTable();
private DataTable GetTouristList()
{
string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(connString))
{
using (MySqlCommand cmd = new MySqlCommand("SELECT FIO, dob, phone FROM tourist", con))
{
con.Open();
MySqlDataReader reader = cmd.ExecuteReader();
dtTourist.Load(reader);
}
}
return dtTourist;
}
private void button1_Click_1(object sender, EventArgs e)
{
string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(connString))
{
con.Open();
MySqlCommand Command = new MySqlCommand("INSERT INTO [tourist] ([FIO], [dob], [phone]) VALUES ('" + NametextBox.Text + "','" + dobDate.Value + "','" + PhonetextBox.Text + "')");
Command.ExecuteNonQuery();
}
}
}
}
当您实例化您的 MySqlConnection 时,您必须传递打开的连接对象,如下所示:
private void button1_Click_1(object sender, EventArgs e)
{
string connString = ConfigurationManager.ConnectionStrings["dbx"].ConnectionString;
using (MySqlConnection con = new MySqlConnection(connString))
{
con.Open();
MySqlCommand Command = new MySqlCommand("INSERT INTO [tourist] ([FIO], [dob], [phone]) VALUES ('" + NametextBox.Text + "','" + dobDate.Value + "','" + PhonetextBox.Text + "')", con);
Command.ExecuteNonQuery();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.