【问题标题】:E-commerce website with c# .Net电子商务网站用c#.Net
【发布时间】:2017-03-29 14:16:47
【问题描述】:

我在一个网站上工作,但问题/错误是当我单击添加按钮时,它应该在我的类别表中添加一个行,但它给了我一个错误。

这是我的代码:我已经在 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.Data.dll 中发生了“System.ArgumentException”类型的异常,但未在用户代码中处理。附加信息:列“Cname”不属于表。

关于此代码 "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.

我查看了错误,但我无法解决它,我也在谷歌上搜索它,但我找不到我的错误的确切解决方案。我被困在这行代码之间,所以如果你们能帮助我,那将非常感激..:)

【问题讨论】:

  • 你在哪里得到表(类别)到dt DataTable 对象?
  • 您收到错误是因为 DataTable 对象 没有名为“Cname”的列。

标签: c# sql .net visual-studio


【解决方案1】:

这解决了你的问题

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

为什么是静态的?答案更重要。

static DataTable dt = new DataTable();

【讨论】:

  • 关于静态的好点 - 这意味着页面的所有实例都具有相同的 DataTable!
猜你喜欢
  • 2011-06-11
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-17
  • 1970-01-01
  • 2011-01-02
  • 2016-11-10
相关资源
最近更新 更多