string sqlstr="data source=;user id=sa;password=sa;database=电力局系统";
SqlConnection conn=new SqlConnection(sqlstr);
conn.Open();   
string str="insert into  定义流程的部门  values(@value1,@value2,@value3,@value4,@value5,@value6,@value7,@value8,@value9,@value10)";   SqlCommand MyCommand=new SqlCommand(str,conn);

for (int i=0;i<ListBox1.Items.Count;i++)  {
   MyCommand.Parameters.Add("@value[i+1]",ListBox1.Items[i].Text);
  }

MyCommand.ExecuteNonQuery();   
conn.Close();

解决方案 »

  1.   

    更正
    string sqlstr="data source=;user id=sa;password=sa;database=电力局系统";
    SqlConnection conn=new SqlConnection(sqlstr);
    conn.Open();   
    string str="insert into  定义流程的部门  values(@value1,@value2,@value3,@value4,@value5,@value6,@value7,@value8,@value9,@value10)";   SqlCommand MyCommand=new SqlCommand(str,conn);

    for (int i=0;i<ListBox1.Items.Count;i++)
    {
       j=i+1;  
       MyCommand.Parameters.Add("@value"+j.ToString(),ListBox1.Items[i].Text);
    }

    MyCommand.ExecuteNonQuery();   
    conn.Close();
      

  2.   

    To:楼主:
    SqlDataReader MyReader=MyCommand.ExecuteReader();
    中ExecuteReader是一个阅读器,只能把符合条件的记录查出来,
    而你想执行一条Sql语句,就必须用ExecuteNonQuery()了。
      

  3.   

    MyCommand.Parameters.Add("@value[i+1]",ListBox1.Items[i]);
                                           
    --->
    int n=i+1;
    myCommand.Parameters.Add(new SqlParameter("@value"+n.ToString(),SqlDbType.Varchar));
    myCommand.Parameters["@value"+n.ToString()].Value = ListBox1.Items[i].Text;
    or
    myCommand.Parameters["@value"+n.ToString()].Value = ListBox1.Items[i].Value;
      

  4.   

    我按照 : zhuohs(凌九霄)  试了一下,不幸啊!!
    必须声明变量 '@value2'。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 必须声明变量 '@value2'。源错误: 行 174:
    行 175: // SqlDataReader MyReader=MyCommand.ExecuteReader();
    行 176: MyCommand.ExecuteNonQuery();   
    行 177:
    行 178:   
     
      

  5.   

    各位高手!!
    这个问题已经解决了!!
    谢谢!!下面是我的 代码!!
    string sqlstr="data source=;user id=sa;password=sa;database=电力局系统";
    SqlConnection conn=new SqlConnection(sqlstr);
    conn.Open();  string str="insert into  定义流程的部门  values(@value1,@value2,@value3,@value4,@value5,@value6,@value7,@value8,@value9,@value10)";   
     SqlCommand MyCommand=new SqlCommand(str,conn);

    for (int i=0;i<ListBox1.Items.Count;i++)
    {   
    int n=i+1;
        MyCommand.Parameters.Add("@value"+n.ToString(),ListBox1.Items[i].Text);
    }
    for (int j=ListBox1.Items.Count; j<11;j++)
    {
    int m=j+1;
    MyCommand.Parameters.Add("@value"+m.ToString(),"");
    }

    SqlDataReader MyReader=MyCommand.ExecuteReader();
                  conn.Close();