日期:2014-05-19  浏览次数:20795 次

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语句完成所有的添加操作?
------解决方案-----------------