2010-04-29 34 views
1

我试图将form1中的文本框中的值粘贴到form2中的文本框中。我做到了,但是当我升级我的应用程序时,它停止了工作。我也需要这种情况,当我想从文本框(到访问数据库)插入一个值,而不是在插入状态的窗体上时,我得到一个错误(在条件语句中incorect数据类型)。代码: string textFromForm1;将文本框的值转换为另一种形式的文本框

public Form2() 
    { 
     InitializeComponent(); 


    } 

    public void textBox1_TextChanged(object sender, EventArgs e) 
    { 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     using (Form3 obrok = new Form3()) 
     obrok.ShowDialog(); 

    } 

    private void button3_Click(object sender, EventArgs e) 
    { 
     this.Hide(); 


    } 

    private void button2_Click(object sender, EventArgs e) 
    { 

    } 

    private void textBox1_TextChanged_1(object sender, EventArgs e) 
    { 

    } 
    Form1 bmr=new Form1(); 
    int masa; 
    private void Form2_Load(object sender, EventArgs e) 
    { 
     textBox1.Text = bmr.masaTextBox.Text;  
    } 

用于插入语句代码: 串conString = “供应商= Microsoft.Jet.OLEDB.4.0;” +“Data Source = C:\ Users \ Simon \ Desktop \ save.mdb”;

 OleDbConnection empConnection = new OleDbConnection(conString); 


     string insertStatement = "INSERT INTO obroki_save " 
          + "([ID_uporabnika],[ID_zivila],[skupaj_kalorij]) " 
          + "VALUES (@ID_uporabnika,@ID_zivila,@skupaj_kalorij)"; 

     OleDbCommand insertCommand = new OleDbCommand(insertStatement, empConnection); 

     insertCommand.Parameters.Add("@ID_uporabnika", OleDbType.Char).Value = users.iDTextBox.Text; 
     insertCommand.Parameters.Add("@ID_zivila", OleDbType.Char).Value = iDTextBox.Text; 
     insertCommand.Parameters.Add("@skupaj_kalorij", OleDbType.Char).Value = textBox1.Text; 
     empConnection.Open(); 

     try 
     { 
      int count = insertCommand.ExecuteNonQuery(); 
     } 
     catch (OleDbException ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
     finally 
     { 
      empConnection.Close(); 
      textBox1.Clear(); 
      textBox2.Clear(); 
      textBox3.Clear(); 
      textBox4.Clear(); 
      textBox5.Clear(); 
     } 

回答

0

通常这不是一件好事。我甚至不确定这种方法是否是线程安全的。

而不是做

textBox1.Text = bmr.masaTextBox.Text; 

尝试加入公共属性您Form1的,并保持你的数据在那里。或者将必要的数据传递给form2的构造函数。无论如何,文本框不应该是一个数据存储,你保留一个值,然后从其他地方访问...文本框应该用于显示数据和阅读它。

+0

我设法解决这个问题,但我仍然得到错误,在条件语句中有一个错误的数据类型。为什么是这样?在表单3中(我想要插入数据,所有数据都是从表单3的文本框中插入的)为什么我有这个问题,如果我在其他表上做了同样的事情并且它工作正常?) – simon 2010-04-29 13:12:33

相关问题