for循环插入数据问题!在线等,急救
for (int i = 0; i < dt.Rows.Count; i++)//取数据行记录
{
for (int j = 0; j < dt.Columns.Count;j++ )//取数据列数
{
//这里如何写,可以把数据逐行插入到数据裤中?
}
}
------解决方案--------------------SqlConnection cnn = new SqlConnection(qq.ConnectionString);
string sqlcmdins = "Insert TLane(No1,No2,NO3) Values( ' " +NO1 + " ', ' " + NO2 + " ', ' "+no3+ " ') ";
SqlCommand DataCommand = new SqlCommand(sqlcmdins, cnn);
DataCommand.Connection.Open();
SqlDataReader dataReader = DataCommand.ExecuteReader();
------解决方案--------------------string strSql= "Insert into table(column1,column2,column3) values( ";
string strValue= " ";
for (int i = 0; i < dt.Rows.Count; i++)//取数据行记录
{
for (int j = 0; j < dt.Columns.Count;j++ )//取数据列数
{
//这里如何写,可以把数据逐行插入到数据裤中?
strValue+= " ' "+dt.Tables[0].Rows[i][j].Tostring();
}
}
大概这个意思,没有经过测试,不过建议不要这样写,因为列的数据类型不一样的,有些要加引号,有些不加,不好控制的,建议写成:
string strSql= "Insert into table(column1,column2,column3) values( ";
StringBuifer strSql=new StringBuifer();
for (int i = 0; i < dt.Rows.Count; i++)//取数据行记录
{
{
//这里如何写,可以把数据逐行插入到数据裤中?
strSql.Append( "Insert into table(column1,column2,column3) values( ");
strSql.Append( ", "+dt.Tables[0].Rows[i][0]);
strSql.Append( ", "+dt.Tables[0].Rows[i][1]);
strSql.Append( ", "+dt.Tables[0].Rows[i][2]);
}
------解决方案--------------------一楼的写法漏洞百出,不要效仿!
MSND 上有标准代码,难道 LZ 不知道?
L@_@K
string insertString = string.Empty;
// connectionString 自己写
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.Connection.Open();
for (int i = 0; i < dt.Rows.Count; i++)//取数据行记录
{
for (int j = 0; j < dt.Columns.Count;j++ )//取数据列数
{
insertString = "insert ... "; // 构建 Sql 语句
command.CommandText = insertString;
command.ExecuteNonQuery();
}
}
}
------解决方案--------------------楼主是要每次循环都执行一次数据添加操作
还是通过for循环来构造 一 条sql语句完成所有的添加操作?
------解决方案-----------------