我有这个代码将记录从一个表转移到另一个
cmd2.CommandText = "select * from " + TableName;
reader = cmd2.ExecuteReader();
if (reader != null)
{
String s = "".PadLeft(reader.FieldCount - 1, 'X').Replace("X", "?,") + "?";
cmd.CommandText = String.Format("{0} into {1} values ({2})", insertorreplace, TableName, s);
StringBuilder sb = new StringBuilder();
while (reader.Read())
{
int i = 0;
for (i = 0; i < reader.FieldCount; ++i)
{
cmd.Parameters.AddWithValue(null,reader[i].ToString()); // data type issue
}
cmd.ExecuteNonQuery();
}
reader.Close();
}
可能是因为注释行我得到数据类型问题。我希望所有的东西都能通过字符串传递。
仍在寻找答案
答案 0 :(得分:0)
如果您要从一个表复制到另一个表,最好的方法是使用INSERT INTO ... SELECT FROM
在一个查询中完成所有操作。
要修复您的代码,只需从.ToString()
删除reader[i]
。