首页 > 解决方案 > 插入数据库时​​出现无效的对象名称“主要”错误 - C# (WebForms)、MySql

问题描述

我知道很多人都有这些问题,我实际上已经尝试对我的代码实施一些建议,但是我遇到了对我来说没有意义的错误。这是我第一次实现对我的代码的数据库调用。有人可以告诉我我做错了什么吗?弹出以下错误:错误:无效的对象名称'Main'。这实际上是由我的异常触发的,所以至少有一些东西在起作用。否则,我不知道问题是什么。在数据库端,我有(username VARCHAR, email VARCHAR and number NCHAR)请看下面的代码

 static string path = Path.GetFullPath(Environment.CurrentDirectory);
    static string databaseName = "u_DB.mdf";

    string connectionString = @"Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=" + path + @"\" + databaseName + "; Integrated Security=True;";

    private void button1_Click(object sender, EventArgs e)
    {
        // string query = "INSERT INTO  UserInfo  '" + textBox1.Text + "' and password = '" + textBox2.Text + "'";
        string query = "insert into Main ([username], [email], [number]) values(@username,@email,@number)";

        using (SqlConnection con = new SqlConnection(connectionString))
        {
            try
            {
                con.Open();
                using (SqlCommand cmd = new SqlCommand(query, con))
                {
                    cmd.Parameters.Add("@username", SqlDbType.VarChar).Value = textBox3.Text;
                    cmd.Parameters.Add("@email", SqlDbType.VarChar).Value = textBox2.Text;
                    cmd.Parameters.AddWithValue("@number", SqlDbType.VarChar).Value = textBox1.Text;

                    int rowsAdded = cmd.ExecuteNonQuery();
                    if (rowsAdded > 0)
                        MessageBox.Show("Added to Database");
                    else
                        MessageBox.Show("Nothing was added");
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show("ERROR: " + ex.Message);
            }
            con.Close();
        }

    }

标签: c#sql-serverwebforms

解决方案


首先,正如 Chetan 所假设的,您有主桌吗?您正在使用的查询的语法是:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

此外,

AddWithValue(string parameterName, object value (<== The actual value to insert!));

在你的情况下

AddWithValue("@number", textBox1.Text);

足够的。


推荐阅读