簡體   English   中英

將數據插入到ms訪問C#ASP.Net

[英]Insert Data in to ms access C# ASP.Net

我試圖從表單插入數據到msaccess數據庫我有當前的代碼

OleDbConnection con = new OleDbConnection();
OleDbCommand cmd = new OleDbCommand();
con.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\kunz\Documents\Visual Studio 2010\WebSites\Assignment_2_Mark_2\App_Data\nuclearpopsicledb.mdb";
cmd.Connection = con;
string sql = "insert into users values('"+tbUname.Text+"','"+tbPass.Text+"','"+tbName.Text+"','"+tbEmail.Text+"','"+tbEmail.Text+"')";

try
{
    con.Open();
    cmd.CommandText = sql;
    cmd.ExecuteNonQuery();
    con.Close();
    Label1.Text = "TRY";
}
catch(Exception ex)
{
    Label1.Text = ex.ToString();
    con.Close();
}

我的數據庫結構如下:

|用戶名| 密碼| 名字| 電子郵件|

但是,當我運行它時,我得到一個錯誤

System.Data.OleDb.OleDbException:查詢值和目標字段的數量不同。 在System.Data。

我不確定我做錯了什么我是C#的初學者

您還有一封額外的電子郵件:

cmd.Parameters.AddWithValue("@userName", tbUname.Text.Trim());
cmd.Parameters.AddWithValue("@password", tbPass.Text.Trim());
cmd.Parameters.AddWithValue("@Name", tbName.Text.Trim());
cmd.Parameters.AddWithValue("@Email", tbEmail.Text.Trim());

string sql = 
    "insert into users " +
    "values(@userName, @password, @Name, @Email)";

實際上,您的表包含四個值,但您在該查詢中傳遞了5個值。 那是錯誤的。

你的代碼:

string sql = "insert into users values('"+tbUname.Text+"','"+tbPass.Text+"','"+tbName.Text+"','"+tbEmail.Text+"','"+tbEmail.Text+"')";

tbEmail.Text重復兩次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM