我想打開另一個窗體的按鈕,它只是在開始時纔好。在幾個表單之後,發生了stackoverflow錯誤! 錯誤發生在窗體1,窗體2和窗體3上(我開始多次調試):代碼非常簡單。像形式3:System.StackOverflowException通過形式
public partial class Form2 : Form
{
Form3 obrok = new Form3();
public Form2()
{
InitializeComponent();
}
public void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
obrok.Show();
this.Hide();
}
}
(從註釋添加,特別是保持代碼的縮進(MI))
上述錯誤解決(using語句)現在的問題是,當我琬t將文本框中的值保存到訪問數據庫。代碼: Form1 users = new Form1(); private void button1_Click(object sender,EventArgs e) string conString =「Provider = 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],[datum],[ID_zivila],[skupaj_kalorij]) "
+ "VALUES (@ID_uporabnika,@datum,@ID_zivila,@skupaj_kalorij)";
OleDbCommand insertCommand = new OleDbCommand(insertStatement, empConnection);
insertCommand.Parameters.Add("@ID_uporabnika", OleDbType.Char).Value = users.iDTextBox.Text;
insertCommand.Parameters.Add("@datum", OleDbType.Char).Value = DateTime.Now;
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();
}
}
}
當我不想傳遞這些值時,它會顯示一個按鈕,表示按條件表達式中的數據類型存在錯誤。
我想我們需要更多的細節來幫助你。你不能寫出導致這個錯誤的代碼的全部樣本嗎? – PierrOz 2010-04-28 08:59:43
這意味着您在StackOverflow上提出了太多問題來開發您的應用程序。 :P 出於玩笑,你可以發佈一些更多的代碼?是否有任何遞歸涉及?是否Form5太創建其他Form5對象? – 2010-04-28 09:01:03
tnx快速解答! upps。我的錯誤其實。錯誤發生在窗體1,窗體2和窗體3上(我開始多次調試):代碼非常簡單。 like for form 3: public partial class Form2:Form { Form3 obrok = new Form3(); public Form2() { InitializeComponent(); } 公共無效textBox1_TextChanged(對象發件人,EventArgs的) { } 私人無效的button1_Click(對象發件人,EventArgs的) { obrok.Show(); this.Hide(); }}} – simon 2010-04-28 09:12:39