CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

菜鸟问题,如何在已查询出结果的Datatable里,动态增加一列名称为ID,且数据为自动增加?

楼主frankiex(frankiex)2003-09-03 11:53:40 在 .NET技术 / ASP.NET 提问

同上。 问题点数:20、回复次数:7Top

1 楼frankiex(frankiex)回复于 2003-09-03 11:56:17 得分 0

upTop

2 楼whccx(铁兵)回复于 2003-09-03 13:39:11 得分 0

Dim   MyConnection   As   SqlConnection  
   
          Sub   Page_Load(Sender   As   Object,   E   As   EventArgs)    
   
                  MyConnection   =   New   SqlConnection("server=(local)\NetSDK;database=pubs;Trusted_Connection=yes")  
   
                  If   Not   (IsPostBack)  
                          BindGrid()  
                  End   If  
          End   Sub  
   
          Sub   AddAuthor_Click(Sender   As   Object,   E   As   EventArgs)    
   
                  Dim   DS   As   DataSet  
                  Dim   MyCommand   As   SqlCommand  
   
                  If   au_id.Value   =   ""   Or   au_fname.Value   =   ""   Or   au_lname.Value   =   ""   Or   phone.Value   =   ""  
   
                      Message.InnerHtml   =   "错误:""作者   ID""、""姓名""或""电话""不允许使用空值"  
                      Message.Style("color")   =   "red"  
                      BindGrid()  
                  End   If  
   
                  Dim   InsertCmd   As   String   =   "insert   into   Authors   (au_id,   au_lname,   au_fname,   phone,   address,   city,   state,   zip,   contract)   values   (@Id,   @LName,   @FName,   @Phone,   @Address,   @City,   @State,   @Zip,   @Contract)"  
   
                  MyCommand   =   New   SqlCommand(InsertCmd,   MyConnection)  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@Id",   SqlDbType.NVarChar,   11))  
                  MyCommand.Parameters("@Id").Value   =   au_id.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@LName",   SqlDbType.NVarChar,   40))  
                  MyCommand.Parameters("@LName").Value   =   au_lname.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@FName",   SqlDbType.NVarChar,   20))  
                  MyCommand.Parameters("@FName").Value   =   au_fname.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@Phone",   SqlDbType.NChar,   12))  
                  MyCommand.Parameters("@Phone").Value   =   phone.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@Address",   SqlDbType.NVarChar,   40))  
                  MyCommand.Parameters("@Address").Value   =   address.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@City",   SqlDbType.NVarChar,   20))  
                  MyCommand.Parameters("@City").Value   =   city.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@State",   SqlDbType.NChar,   2))  
                  MyCommand.Parameters("@State").Value   =   stateabbr.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@Zip",   SqlDbType.NChar,   5))  
                  MyCommand.Parameters("@Zip").Value   =   zip.Value  
   
                  MyCommand.Parameters.Add(New   SqlParameter("@Contract",   SqlDbType.NVarChar,1))  
                  MyCommand.Parameters("@Contract").Value   =   contract.Value  
   
                  MyCommand.Connection.Open()  
   
                  Try    
                          MyCommand.ExecuteNonQuery()  
                          Message.InnerHtml   =   "<b>已添加记录</b><br>"   &   InsertCmd.ToString()  
   
                  Catch   Exp   As   SQLException  
                          If   Exp.Number   =   2627  
                                  Message.InnerHtml   =   "错误:已存在具有相同主键的记录"  
                          Else  
                                  Message.InnerHtml   =   "错误:未能添加记录,请确保正确填写了字段"  
                          End   If  
                          Message.Style("color")   =   "red"  
   
                  End   Try  
   
                  MyCommand.Connection.Close()  
   
                  BindGrid()  
          End   Sub  
   
          Sub   BindGrid()    
   
                  Dim   MyCommand   As   SqlDataAdapter   =   new   SqlDataAdapter("select   *   from   Authors",   MyConnection)  
   
                  Dim   DS   As   DataSet   =   new   DataSet()  
                  MyCommand.Fill(DS,   "Authors")  
   
                  MyDataGrid.DataSource=DS.Tables("Authors").DefaultView  
                  MyDataGrid.DataBind()  
          End   Sub  
  Top

3 楼frankiex(frankiex)回复于 2003-09-03 13:55:39 得分 0

什么东东?不是啊。Top

4 楼frankiex(frankiex)回复于 2003-09-03 14:09:46 得分 0

upTop

5 楼basil(绿茶112)回复于 2003-09-03 15:01:58 得分 0

直接增列是不行的,可以考虑再建一个datatable,然后把原来的datatable赋值过来,就可以了  
  code:  
  ---------  
  原来的datatable:dt  
  ---------  
  DataTable   dt=new   DataTable("test");  
  DataColumn   dc=new   DataColumn();  
  dc=dt.Columns.Add("a",typeof(string));  
  dc=dt.Columns.Add("b",typeof(string));  
  DataRow   dr;  
  dr=dt.NewRow();  
  dr["a"]="you";  
  dr["b"]="welcome";  
  dt.Rows.Add(dr);  
  dr=dt.NewRow();  
  dr["a"]="me";  
  dr["b"]="hello";  
  dt.Rows.Add(dr);  
  ---------------  
  新建datatable:dt1  
  ---------------  
  DataTable   dt1=new   DataTable("test1");  
  dc=dt1.Columns.Add("c",typeof(Int32));  
  dc.AutoIncrement=true;  
  dc.AutoIncrementSeed=1;  
  dc.AutoIncrementStep=1;  
  dc=dt1.Columns.Add("a",typeof(string));  
  dc=dt1.Columns.Add("b",typeof(string));  
  int   i=0;  
  foreach(DataRow   dr1   in   dt.Rows)  
  {        
    dt1.Rows.Add(dt1.NewRow());  
    dt1.Rows[i]["a"]=dr1["a"].ToString();  
    dt1.Rows[i]["b"]=dr1["b"];  
    i++;  
    }Top

6 楼hgknight(江雨.net)回复于 2003-09-03 15:09:26 得分 20

不用这么麻烦,加一个模板列就行  
  <asp:TemplateColumn   HeaderText="序列">  
        <ItemTemplate>  
                          <%#   Container.ItemIndex+1%>  
        </ItemTemplate>  
  </asp:TemplateColumn>Top

7 楼frankiex(frankiex)回复于 2003-09-03 22:25:52 得分 0

THANK   UTop

相关问题

  • datatable数据查询
  • DataTable查询修改
  • DataTable关联查询问题
  • 对datatable进行查询的问题
  • 菜鸟问查询语句
  • SQL查询菜鸟问题
  • 菜鸟问:sql查询?
  • 大菜鸟救助了啊!!!语法错误 (操作符丢失) 在查询表达式 'id =' 中
  • 怎样从DataTable中查询符合条件的内容?
  • 关于DataTable查询问题,在线等,谢谢了!

关键词

  • ds
  • dc
  • mycommand
  • au
  • insertcmd
  • datatable
  • lname
  • bindgrid
  • fname
  • dr

得分解答快速导航

  • 帖主:frankiex
  • hgknight

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo