日期:2014-05-20  浏览次数:20391 次

敬请慕白兄帮忙看一下
以下代码是我的邮件转发页面的代码,邮件是多附件的,附件名称用的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();
                                }