首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

敬请慕白兄帮忙看一下,该怎么处理

2012-01-07 
敬请慕白兄帮忙看一下以下代码是我的邮件转发页面的代码,邮件是多附件的,附件名称用的DropDownList显示,问

敬请慕白兄帮忙看一下
以下代码是我的邮件转发页面的代码,邮件是多附件的,附件名称用的DropDownList显示,问题:登陆后,第一次进去邮件转发页面的时候是正常的,我后退一下再进去就不行,这个问题我已经问过慕白兄,可能是重复提交,不过我自己还是没能搞定,所以特开一贴,期待慕白兄等高手帮我看一看,拜谢~~~
——————
报错:列“filename”被约束为是唯一的。值“本.txt”已存在。
附:(“本.txt”是附件名称)
源错误中显示是这一行:  
upfiles.Rows.Add(path);//增加

——————

public   void   CreatTable()
        {
                upfiles   =   new   DataTable( "upfile ");
                DataColumn[]   keys   =   new   DataColumn[1];
                keys[0]   =   upfiles.Columns.Add( "filename ",   typeof(string));
                keys[0].AllowDBNull   =   false;
                upfiles.PrimaryKey   =   keys;
                upfiles.Columns.Add( "filestream ",   typeof(Stream));
                fname.Text   =   " ";
                fname1.Text   =   " ";
        }
  private   void   ShowMail()
        {
                string   MailId   =   this.GetSessionState( "MailId ");
                string   sql1   =   "SELECT   *   FROM   Mail   WHERE   邮件编号   =   "   +   MailId,   conn;
                SqlDataReader   dr;
                SQLHelper   sqlHelp   =   new   SQLHelper();
                sqlHelp.ExecSQL(sql1,   out   dr);
                while   (dr.Read())
                {
                     
                        string   filepath   =   dr[ "附件上传地址 "].ToString();                    
                        string[]   strpaths   =   filepath.Split( '; ');
                        for   (int   i   =   0;   i   <   strpaths.Length;   i++)
                        {
                                  if   (upfiles   ==   null)
                                {
                                        CreatTable();
                                }
                             


                                upfiles.Rows.Add(path);//增加
                                ArrayList   dc   =   new   ArrayList();//定义一个数组dc
                                for   (int   j   =   0;   j   <   upfiles.Rows.Count;j++)                                 {
                                        DataRow   df   =   upfiles.Rows[j];//df为数据表upfiles的第j行
                                        dc.Add(df[0].ToString());//把数据表upfiles的第j行循环插入到数组dc
                                }
                                files.DataSource   =   dc;//下拉列表的数据源为数组dc
                                files.DataBind();//下拉列表的数据绑定  
                               
                        }
                }
        }
  private   void   Page_Load(object   sender,   System.EventArgs   e)
        {
                if   (!Page.IsPostBack)
                {
                        string   MailId   =   this.GetSessionState( "MailId ");//获得邮件的Id
                        ShowMail();
                }
        }

[解决办法]
沙发
[解决办法]
upfiles.PrimaryKey = keys;
附件名不能重复

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070130

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]
慕白兄 还没有来呢
既然是问 慕白兄 的,我就不回答了
哈哈
看着代码头疼
[解决办法]
path重复了。我在上贴说的那个方法是指保存到数据库的。
[解决办法]
恩。帮顶吧~~

热点排行