我是c#的真正新手。
我在这里看到过很多像这样的问题。但是,在尝试时,我无法获取我的代码。
我希望检索一行的所有列,然后将其传输到同一数据库的另一个表。
基本上,从table1
检索数据并将其复制到table2
的相应列。
我尝试过这么多代码。 我很困惑如何直接调用字符串而不是在“”。
中定义str1字符串中的每一列 string check = "select * from custdetails where billid = @billid ";
SqlCommand cmd1 = new SqlCommand(check , conn);
cmd1.Parameters.AddWithValue("@billid", billid);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd1);
da.Fill(ds);
// string str1;
int count = ds.Tables[0].Rows.Count;
if (count > 0)
{
string str1 = ds.Tables[0].Rows[0][""].ToString();
}
我对c#真的不太了解。 谢谢你的帮助。
答案 0 :(得分:3)
您可以使用以下方式执行此操作:
INSERT INTO table2 (SELECT * FROM table1 WHERE billid = @billid)
只有当table1
& table2
具有相同的结构。如果两个表格具有不同的结构,则需要将SELECT *
更改为SELECT [COLUMNS ,]...
您已完成复制数据然后您可以继续将数据读入您的应用程序
string check = "select * from custdetails where billid = @billid ";
SqlCommand cmd1 = new SqlCommand();
// use the command object to copy table first....
cmd1.Connection = conn;
cmd1.CommandText = "INSERT INTO table2 (SELECT * FROM table1 WHERE billid = @billid)";
cmd1.ExecuteNonQuery();
//then continue doing the normal work
cmd1.CommandText = check;
cmd1.Parameters.AddWithValue("@billid", billid);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd1);
da.Fill(ds);
// string str1;
int count = ds.Tables[0].Rows.Count;
if (count > 0)
{
string str1 = ds.Tables[0].Rows[0][""].ToString();
}
答案 1 :(得分:1)
您可以通过以下行来实现。
INSERT INTO targettable
SELECT * FROM custdetails WHERE billid = @billid;