详细介绍C#该行已经属于另一个表的解决方法

黄舟
Libérer: 2017-03-11 13:15:13
original
2044 Les gens l'ont consulté

详细介绍C#该行已经属于另一个表的解决方法

产生错误的代码:

DataTable dtContract_src = Oper.GetDataTable("select * from T_Contract where ProjectID=" + ProjectID_src + " and Flag=0", con_src);
                            foreach (DataRow dr in dtContract_src.Rows)
                            {
                                String ContractID_src = dr["ContractID"].ToString();
                                DataTable dtContract_dst = Oper.GetDataTable("select * from T_Contract where ProjectID=" + ProjectID_src + "
                                 and ContractID=" + ContractID_src + " and Flag=0", con_dst);
                                if (dtContract_dst.Rows.Count != 0)
                                {
                                    impContract_exist++;
                                    continue;
                                }

                                dtContract_dst.Rows.Add(dr);

                                String columns = "";
                                String paramss = "";
                                OleDbCommand updateCmd = con_dst.CreateCommand();
                                foreach (DataColumn dc in dtContract_dst.Columns)
                                {
                                    if (columns == "")
                                    {
                                        columns = dc.ColumnName;
                                        paramss = "@" + dc.ColumnName;
                                    }
                                    else
                                    {
                                        columns += ", " + dc.ColumnName;
                                        paramss += ", @" + dc.ColumnName;
                                    }
                                    updateCmd.Parameters.Add(new OleDbParameter(dc.ColumnName, dc.DataType);
                                }
                                updateCmd.CommandText = "insert into T_Contract(" + columns + ") Values(" + paramss + ")";

                                updateCmd.ExecuteNonQuery();

                                //OleDbDataAdapter dataAdap = new OleDbDataAdapter();
                                //dataAdap.InsertCommand = updateCmd;
                                //dataAdap.Update(dtContract_dst);

                            }
Copier après la connexion

错误行:

dtContract_dst.Rows.Add(dr);
Copier après la connexion

解决办法:

dtContract_dst.Rows.Add(dr.ItemArray);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
c#
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!