0

コードを実行すると、「クエリ値の数と宛先フィールドが同じではありません」というエラーが発生します。

それに関して私に提案してください。

コード

 protected void btn_Save_Click(object sender, EventArgs e)
    {
        string str = ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:/Users/Geeta/Desktop/eTimeTrackLite1.mdb;Persist Security Info=False;");
        OleDbConnection conn = new OleDbConnection(str);
        conn.Open();
        string query = "insert into Employees (EmployeeName,EmployeeCode,DeviceCode,Company,Department,Designation,Grade,Team,Location,EmploymentType,Category,HolidayGroup,ShiftGroup,ShiftRoster,Dateofjoining,Dateofconfirmation,Status,DateofResigning,Sex) values ('" + txt_empname.Text + "','" + txt_code.Text + "', '" + txt_dcode.Text + "', '" + Convert.ToString(dp_company.SelectedItem)+ "', '" + Convert.ToString(dp_department.SelectedItem) + "', '"+Convert.ToString(dp_designation.SelectedItem)+"', '"+Convert.ToString(dp_grade.SelectedItem)+"', '"+Convert.ToString(dp_team.SelectedItem)+"', '"+Convert.ToString(dp_location.SelectedItem)+"', '"+Convert.ToString(dp_emptype.SelectedItem)+"', '"+Convert.ToString(dp_category.SelectedItem)+"', '"+Convert.ToString(dp_holigroup.SelectedItem)+"', '"+Convert.ToString(dp_shiftgroup.SelectedItem)+"', '"+Convert.ToString(dp_shiftroster.SelectedItem)+"', '"+Convert.ToString(dp_day.SelectedItem)+"', '"+Convert.ToString(dp_month.SelectedItem)+"', '"+Convert.ToString(dp_year.SelectedItem)+"', '"+Convert.ToString(dp_cday.SelectedItem)+"', '"+Convert.ToString(dp_cmonth.SelectedItem)+"', '"+Convert.ToString(dp_cyear.SelectedItem)+"', '"+Convert.ToString(dp_status.SelectedItem)+"', '"+Convert.ToString(dp_rday.SelectedItem)+"', '"+Convert.ToString(dp_rmonth.SelectedItem)+"', '"+Convert.ToString(dp_ryear.SelectedItem)+"', '"+Convert.ToString(rdbtn_male.Checked)+"', '"+Convert.ToString(rdbtn_female.Checked)+"')";
        OleDbCommand cmd = new OleDbCommand(query, conn);
        cmd.ExecuteNonQuery();
        conn.Close();
        BindGridData();
    }

"ありがとう"

4

1 に答える 1

0

このクエリの問題は、19 個の挿入パラメーター (EmployeeName、EmployeeCode、DeviceCode、Company、Department、Designation、Grade、Team、Location、EmploymentType、Category、HolidayGroup、ShiftGroup、ShiftRoster、Dateofjoining、Dateofconfirmation、身分、退職日、性別)

しかし、それ以上 (26) を挿入しようとしています。挿入しようとしている値を数えると、それらが一致しないことがわかります。

そのため、クエリの後半にある余分な値を削除するか、追加の挿入パラメーターを追加できます。たとえば、「年」、「月」、「日」の値を何度か挿入しようとしているようですが、日付フィールドは 1 つしかありません。挿入を正しく機能させるには、これらを連結して日付に変換する必要があります。

于 2012-04-26T12:24:06.960 に答える