0

ここでは、プライベートを取得できない場合、私たちは自分の世界で人々の仕事のようなものを開発し、コードでそれをうまく理解せず、本番データベースを開発環境にバックアップするように要求することさえしません。したがって、2つのデータベースがあります。1つはprodと呼ばれ、もう1つはdevと呼ばれます。一度にすべてのテーブルを更新する必要はありません(バックアッププロセスなしですべてを実行するには多くのテーブルがあります)ので、いくつかのアイデアを試しました。私は実際にここから来ました(少なくともそのうちの1つ)。コードの各部分は実行されますが、開発テーブルに移動するとデータがありません:(「今回」はアクセス許可は問題ではありません。

(1)DataRow [] rowstoCopy; rowstoCopy = tdProd.Select(); foreach(rowstoCopyのDataRow temp){tdDev.ImportRow(temp); }

(2)dsProd.Tables.Add(tdProd); dsDev.Tables.Add(tdDev);

            foreach(DataTable thisTable in dsProd.Tables)
            {
                DataRow DevRow;
              // For each row, print the values of each column.
                foreach(DataRow myRow in thisTable.Rows)
                {
                    DevRow = tdDev.NewRow();
                    int i = thisTable.Columns.Count -1;(could use an Array but fustration set in)
                    foreach(DataColumn myCol in thisTable.Columns)
                    {
                       DevRow[i - 1] = myRow[myCol].ToString();
                       Console.WriteLine(myRow[myCol]);
                        i += 1;
                    }

                    tdDev.Rows.Add(DevRow);

                   }
                Console.WriteLine(tdDev.Rows.Count);
            } 

すべてが実行され、コンソールに出力されますが、すべてエラーが発生しますが、devテーブルに移動するとレコードがありません。2つ目は本当に私を悩ませますこれはエンドユーザーにとって非常に便利です

4

1 に答える 1

0

うん、それはそれをやった

string strSQL = "INSERT INTO [Ops1SQLDEV].[dbo]." + to_tb + " SELECT * FROM [Ops1SQL].[dbo]." + from_tb; SqlCommand cmd = new SqlCommand(strSQL, conn); cmd.CommandType = CommandType.Text; conn.Open(); cmd.ExecuteNonQuery(); conn.Close();

于 2012-10-05T15:18:07.433 に答える