c# - 插入数据库时出现无效的对象名称“主要”错误 - 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();
}
}
解决方案
首先,正如 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);
足够的。
推荐阅读
- c# - 向本地主机发送电子邮件/“捕获”外发电子邮件
- microsoft-cognitive - 如何让 Speech Studio 使用不同的资源,即 S0 而不是 F0
- java - 如何验证 servlet 处理是否真的在做非阻塞 io?
- entity-framework - 实体框架无法从关联表中删除记录并引发错误
- excel - 包含 VLOOKUP 在内的三个条件的 IF 语句
- c# - 如何在 C# Razor 模板中呈现美化的 JSON?
- node.js - 使用 MERN 堆栈使用 Spotify Web API 进行持久登录
- c# - Array.Exists - 可能的错误?
- android - 我可以在 android 应用程序上使用 Oracle No sql 数据库吗
- flutter - Android 在 Flutter 上的 ViewFlipper 替代方案