2017-03-29 6 views
0

私はウェブサイト上で作業していますが、問題/エラーは追加ボタンをクリックすると私のカテゴリーテーブルに行が追加されますが、エラーが表示されます。Eコマースウェブサイトwith c#.Net

これは私のコードです:私はgridviewで接続しました。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data; 
using System.Data.SqlClient; 


public partial class Category : System.Web.UI.Page 
{ 
    DAL obj = new DAL(); 
    static DataTable dt = new DataTable(); 


protected void Page_Load(object sender, EventArgs e) 
{ 

} 


protected void add_btn_Click(object sender, EventArgs e) 
{ 
    DataRow dr = dt.NewRow(); 
    dr["Cname"] = cat_txt.Text; 
    dt.Rows.Add(dr); 

    obj.UpdateDataTable(dt); 
} 
} 

、それは私のタイプの例外をこのエラーを与えては「System.ArgumentExceptionの」のSystem.Data.dllで発生したが、ユーザーコードで処理されませんでした。追加情報:列 'Cname'は表に属していません。私はエラーに見えるが、私はそれを解決することができませんでしたし、私もGoogleでそれを検索し、このコード"DR [" CNAME "] = cat_txt.Text"

I have also checked the name of column which is "Cname" as you can see and about the "Cid" it's primary key and auto generated.

私は私のエラーに正確な解決策を見つけることができませんでした。あなたたちは私のそれは本当に感謝するよ役立ちますので、もしイムは、このコード行の間で立ち往生.. :)

+0

テーブル(カテゴリ)を 'dt' DataTableオブジェクトにしていますか? – Keppy

+0

** DataTableオブジェクト**に「Cname」という列がないため、エラーが発生しています。 – stuartd

答えて

2

これはあなたの問題

dt.Columns.Add(new DataColumn("Cname")); 
DataRow dr = dt.NewRow(); 
dr["Cname"] = cat_txt.Text; 
dt.Rows.Add(dr); 

解決し、なぜこれが静的であるのですか?答えはもっと重要です。

static DataTable dt = new DataTable(); 
+1

静的についての良い点 - つまり、ページのすべてのインスタンスが同じDataTableを持つことを意味します。 – stuartd

関連する問題