这是我的代码我已经尝试了每一步我可以找到我已经移动con.close();之前和之后,它仍然不工作,请指导我该怎么做,谢谢,我下面这个youtube视频,使crud操作https://www.youtube.com/watch?v=C7ukAjQtsxE
using System.Data;
using System.Data.SqlClient;
namespace crudingtime
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlConnection con = new SqlConnection("Data Source=DESKTOP-6381H14\\SQLEXPRESS;Initial Catalog=yarabthis;Integrated Security=True");
private void Form1_Load(object sender, EventArgs e)
{
GetEmpList();
}
private void imtired_Click(object sender, EventArgs e)
{
con.Open();
int id = int.Parse(idbox.Text);
string fname=fnametxt.Text, lname=lnametxt.Text;
SqlCommand c = new SqlCommand("exec ughh'"+id+"','"+fname+"','"+lname+"','",con);
con.Close();
MessageBox.Show("Successfully inserted");
}
void GetEmpList()
{
SqlCommand c = new SqlCommand("exec Listughh", con);
SqlDataAdapter sd=new SqlDataAdapter(c);
DataTable dt = new DataTable();
sd.Fill(dt);
dataGridView1.DataSource = dt;
}
}
}```
1条答案
按热度按时间drnojrws1#
不要尝试在窗体类级别持久化连接-因为这样就无法控制何时释放它。
所以,试着这样说,并且总是有一个using代码块(它会为你清理所有的连接)。
我们还不清楚为什么这里有一个公共窗体方法,所以我们暂时不讨论这个问题。
我假设硬编码的连接字符串只是用于这篇文章,而不是到处都在使用硬编码的连接字符串-(不要这样做!!!)。
你把它标记为asp.net,所以我们假设这是一个网页,对吗?
因此,这一“航空法规”应该足够了:
至于那个正在使用的文件。
重新启动计算机。
因此,“隔离”你的连接例程。不要试图在窗体/类级别持久化连接,将你的连接字符串移到config或settings中。(另外一个好处是你可以使用连接构建器)。