工作但不会保存在数据库中 [英] Working but won't save in the database

查看:45
本文介绍了工作但不会保存在数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;


namespace Project1
{
    public partial class Register : Form
    {
       private MySqlConnection myCon = new MySqlConnection("server=MKHX112208;uid=ojt;pwd=Password1;database=ask_it");
       private MySqlCommand myCom;
       

        public Register()
        {
            InitializeComponent();
        }

        MySqlConnection con;
        MySqlCommand cmd;
        MySqlDataReader dr;
       

        private void btnRegister_Click(object sender, EventArgs e)

        {
            con.Open();
            MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = con;
          

            {
                cmd.CommandText = "INSERT INTO users (firstname, lastname, username, password, emailadd) VALUES(@firstname, @lastname, @username, @password, @emailadd)";

                cmd.Parameters.AddWithValue("@firstname", txtFirstName.Text);
                cmd.Parameters.AddWithValue("@lastname", txtLastName.Text);
                cmd.Parameters.AddWithValue("@username", txtUserName.Text);
                cmd.Parameters.AddWithValue("@password", txtPassword.Text);
                cmd.Parameters.AddWithValue("@emailadd", txtEmailadd.Text);

               
                cmd.ExecuteNonQuery();
                con.Close();

                MessageBox.Show("Saving is done!");

            }
            
        }

推荐答案

正如消息所说,你离开了括号()关闭前一个语句,调用构造函数





此外,您不需要为参数指定数据类型。

您可能希望在使用 @ 时保持一致。 br />






现在你有两个连接和两个命令。

连接你正在使用没有连接字符串。
Just as the message says, you left the parentheses () off the previous statement, the call to the constructor


Also, you don't need to specify the datatype for the parameters.
And you may want to be consistent in using the @ .



You now have two connections and two commands.
The connection you are using has no connection string.


private void btnRegister_Click(object sender,EventArgs e)

{



Login.myCon.Open();

MySqlCommand cmd = new MySqlCommand(INSERT INTO users(firstname,lastname,username,password,emailadd)VALUES('+ txtFirstName.Text + ','+ txtLastName.Text +','+ txtUserName.Text +','+ txtPassword.Text +', + txtEmailadd.Text +'),Login.myCon);

cmd.ExecuteNonQuery();

Login.myCon.Close();



MessageBox.Show(保存已完成!);

this.Hide();



登录日志=新登录();

log.Show();





这是正确答案!
private void btnRegister_Click(object sender, EventArgs e)
{

Login.myCon.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO users (firstname, lastname, username, password, emailadd) VALUES('"+ txtFirstName.Text +"', '"+ txtLastName.Text +"', '"+ txtUserName.Text +"', '"+ txtPassword.Text +"', '"+ txtEmailadd.Text +"')",Login.myCon);
cmd.ExecuteNonQuery();
Login.myCon.Close();

MessageBox.Show("Saving is done!");
this.Hide();

Login log = new Login();
log.Show();


This is the correct answer!


这篇关于工作但不会保存在数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆