执行命令前数据库连接Open了吗?
conn.open();

解决方案 »

  1.   

    SqlDataReader MyReader=MyCommand.ExecuteReader();错误,改为:
    MyCommand.ExecuteNonQuery();
      

  2.   

    楼上的两位兄弟的建议我都已经实验过了
    还是不行啊!!
    是不是需要执行三次  
    MyCommand.ExecuteNonQuery();
    超级郁闷!!!
      

  3.   

    你的ado.net参数错误,没有连接上数据库。
      

  4.   

    下面是我的详细代码“;
    大虾门,帮帮忙!!其中向数据库中插入的程序我实验过了,是正确的。
    我分别实验三个插入中的每一个,也是好的,可是为什么三个一起使用 旧不行了呢?string sqlstr="data source=192.188.170.56;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(),"");
    }
    MyCommand.ExecuteNonQuery();
    string str1="insert into  定义流程的姓名  values(@value11,@value12,@value13,@value14,@value15,@value16,@value17,@value18,@value19,@value20)";   
    SqlCommand MyCommand1=new SqlCommand(str1,conn);

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



    string str2="insert into  定义流程的权限  values(@value1,@value2,@value3,@value4,@value5,@value6,@value7,@value8,@value9,@value10)";   
    SqlCommand MyCommand2=new SqlCommand(str2,conn);

    for (int i=0;i<ListBox1.Items.Count;i++)
    {   
    int n=i+1;
    MyCommand.Parameters.Add("@value"+n.ToString(),ListBox3.Items[i].Text);
    }
    for (int j=ListBox1.Items.Count; j<11;j++)
    {
    int m=j+1;
    MyCommand.Parameters.Add("@value"+m.ToString(),"");
    }
    MyCommand2.ExecuteNonQuery();
                conn.Close();
    下面是错误信息:必须声明变量 '@value11'。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 必须声明变量 '@value11'。源错误: 
    行 183: }
    行 184: //MyCommand1.ExecuteNonQuery();
    行 185: SqlDataReader MyReader1=MyCommand1.ExecuteReader();
    行 186: // MyReader1.Read();
    行 187: // MyReader1.Close();
     
      

  5.   

    myCommand1.Open()
    SqlDataReader dr = myCommand1.ExecuteNonQuery();
      

  6.   

    难道是我眼睛花了?
    我看了半天你提供给我们的代码,
    怎么没从其中看到
    MyCommand1.ExecuteNonQuery();
    SqlDataReader MyReader1=MyCommand1.ExecuteReader();
    MyReader1.Read();
    MyReader1.Close();
    这样的代码?
      

  7.   


    添加以下代码 !!是以下!!
    MyCommand1.ExecuteNonQuery();
    SqlDataReader MyReader1=MyCommand1.ExecuteReader();
    MyReader1.Read();
    MyReader1.Close();