System.Collections.ArrayList sqlarray1 = new System.Collections.ArrayList();
System.Collections.ArrayList sqlarray2 = new System.Collections.ArrayList();
float value1 = (float)Convert.ToDouble(dataGridView2[e.ColumnIndex, e.RowIndex].Value);
string Column0 = Convert.ToString(dataGridView2.Rows[e.RowIndex].Cells[0].Value);
sqlarray1.Add(value1);
sqlarray2.Add(Column0);
for (int i = 4; i <= sqlarray1.Count; i++)
{
string sqlinsert = "insert into MaterialParaBro(MaterialNameCN,ParameterName,ParameterValue) values (" + textBox1.Text + "," +sqlarray2[i]+","+Convert.ToString(sqlarray1)+")";DataBase.operateSQL(sqlinsert);
                        
}

解决方案 »

  1.   

    string sqlinsert = "insert into MaterialParaBro(MaterialNameCN,ParameterName,ParameterValue) values ('" + textBox1.Text + "','" +sqlarray2[i]+"','"+Convert.ToString(sqlarray1)+"')";
      

  2.   

    for (int i = 4; i <= sqlarray1.Count; i++)
    {
    string value = Convert.ToString(sqlarray1[i]);
    string name = Convert.ToString(sqlarray2[i]);
                                
    string sqlinsert = "insert into MaterialParaBro(MaterialNameCN,ParameterName,ParameterValue) values (" + textBox1.Text + name + value + ")";
    MessageBox.Show(sqlinsert);
    DataBase.operateSQL(sqlinsert);
                            
    }
    这样也不行,真么办法了
      

  3.   

    for (int i = 4; i <= sqlarray1.Count; i++)
    明明sqlarray1里面只有一个元素。说实话,这些代码没有一行看着像有道理的。你好比把一些人家说的不相干的话拿来拼凑一篇胡话连篇的文章。
      

  4.   


    更奇怪的是,循环体里竟然没有出现sqlarray1,而是使用sqlarray2[i]
      

  5.   

    完整的应该是这个
    #region 确认添加 按钮
            private void button5_Click(object sender, EventArgs e)
            {
                SqlConnection conn = new SqlConnection(DataBase.ConnectionString);
                string cmd = "select MaterialNameCN from Material where MaterialNameCN='" + textBox1.Text + "' ";
                SqlCommand command = new SqlCommand(cmd, conn);
                conn.Open();
                SqlDataReader read = command.ExecuteReader();
                if (read.Read())
                {
                    MessageBox.Show("材料已存在!");
                    textBox1.Text = "";
                    textBox2.Text = "";
                    textBox4.Text = "";
                }
                else
                {
                    if (textBox1.Text == "")
                    { MessageBox.Show("请输入材料中文名称"); }
                    else
                    {
                        if (comboBox3.Text == "")
                        { MessageBox.Show("请选择材料类型"); }
                        else
                        {
                            //添加记录到Material
                            string add = "insert Material(ClassNameCN,MaterialNameCN,MaterialNameEN,Description) values ('" + comboBox3.Text + "','" + textBox1.Text + "','" + textBox2.Text + "','" + textBox4.Text + "')";
                            DataBase.operateSQL(add);
                            //通过循环给材料参数初始化,添加记录到MaterialParaBro
                            for (int i = 4; i <= sqlarray1.Count; i++)
                            {
                                string value = sqlarray1[i].ToString();
                                string name = sqlarray2[i].ToString();                            string sqlinsert = "insert into MaterialParaBro(MaterialNameCN,ParameterName,ParameterValue) values (" + "'" + textBox1.Text + "'" + "," + "'" + name + "'" + "," + "'" + value + "'" + ")";
                                MessageBox.Show(sqlinsert);
                                DataBase.operateSQL(sqlinsert);
                            }                        MessageBox.Show("添加材料成功!");
                            textBox1.Text = "";
                            textBox2.Text = "";
                            textBox4.Text = "";
                            comboBox3.Text = "";
                    }
                }
                read.Close();
                           }
            }
    #endregion
            System.Collections.ArrayList sqlarray1 = new System.Collections.ArrayList();
            System.Collections.ArrayList sqlarray2 = new System.Collections.ArrayList();        private void dataGridViewx1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                MessageBox.Show("cellValueChanged!");        }#region 获取值改变后的值和对应行第0列的值
            private void dataGridViewx2_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                if (sqlarray1.Count <4 & sqlarray2.Count<4)
                {
                    string value1 ="列名";
                    string value2 = "行名";
                    sqlarray1.Add(value1);
                    sqlarray2.Add(value2);            }
                else
                {
                    float value1 = (float)Convert.ToDouble(dataGridView2[e.ColumnIndex, e.RowIndex].Value);
                    string Column0 = Convert.ToString(dataGridView2.Rows[e.RowIndex].Cells[0].Value);
                    sqlarray1.Add(value1);
                    sqlarray2.Add(Column0);
                }
            }
    #endregion