我正在尝试将值添加到数据库中,但每次我尝试添加一些东西时,我都会收到错误消息“连接必须有效且打开。”
Posted
技术标签:
【中文标题】我正在尝试将值添加到数据库中,但每次我尝试添加一些东西时,我都会收到错误消息“连接必须有效且打开。”【英文标题】:I'm trying to add values into database, but every time I try to add some thing i get an error 'Connection must be valid and open.' 【发布时间】:2018-12-09 07:12:00 【问题描述】:这是我得到的错误:
enter image description here
使用此代码:
private void button1_Click_1(object sender, EventArgs e)
if (txtID.Text == "" || txtName.Text == "" || txtMobileNo.Text == "")
MessageBox.Show("Please Enter all of your detail.", "Stop", MessageBoxButtons.OK, MessageBoxIcon.Stop);
else
string query = "INSERT INTO tablemm (id,Name,MobileNo) VALUES ('" + txtID.Text + "','" + txtName.Text + "','" + txtMobileNo.Text + "')";
OpenConnection();
mysqlCommand ObjCommand = new MySqlCommand(query, ObjConnection);
ObjCommand.ExecuteNonQuery();
this.CloseConnection();
【问题讨论】:
SQL-Injection 警报! 发布完整代码! ObjConnection 和 OpenConnection() 方法代码 也不要链接图片,它会让我们点击,我们讨厌点击 //全局变量 private MySqlConnection ObjConnection;私有字符串服务器、数据库、uid、密码; //初始化连接 private void InitializeConnection() server = "localhost";数据库=“表”; uid = "根";密码 = "";字符串 connectionString = "SERVER=" + 服务器 + ";" +“数据库=”+数据库+“;” + "UID=" + uid + ";" + "密码=" + 密码 + ";"; ObjConnection = new MySqlConnection(connectionString); private bool OpenConnection() try ObjConnection.Open();返回真; catch (MySqlException ex) switch (ex.Number) case 0: MessageBox.Show("Can not connect to server");休息; case 1045: MessageBox.Show("无效的用户名/密码");休息; 返回假; 【参考方案1】:你可能忘记打电话给Open
MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection);
myCommand.Connection.Open(); // wallah
myCommand.ExecuteNonQuery();
myConnection.Close();
尽可能使用using
声明,
免责声明:这仅用于演示目的,我不对您使用此代码造成的伤害和伤害的人负责
【讨论】:
你怎么知道,他/她没有在OpenConnection();
方法中调用Open
?
是的,他实际上是对的,但现在弹出另一个问题
MySql.Data.MySqlClient.MySqlException: '主机 localhost 不支持 SSL 连接。'
@imzia99 这基本上是另一个问题,尽管这可能会帮助你***.com/questions/45086283/…【参考方案2】:
我相信您的INSERT
语句应该在您打开与数据库的连接之后在您关闭它之前。
【讨论】:
你是认真的吗? 是的,它是在打开连接之后,实际上是在结束以上是关于我正在尝试将值添加到数据库中,但每次我尝试添加一些东西时,我都会收到错误消息“连接必须有效且打开。”的主要内容,如果未能解决你的问题,请参考以下文章