Я пытаюсь открыть другую форму с помощью кнопки, и это только нормально в начале. После нескольких форм сделал ошибку стека переполнения!
Ошибка в форме 1, форме 2 и форме 3 (я начал отлаживать несколько раз): коды действительно просты. как для формы 3:
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) )
Вышеуказанная ошибка решена (с помощью оператора). Теперь проблема в том, что я не хочу сохранять значения из текстового поля в базе данных доступа. Код:
Form1 users = new Form1 ();
private void button1_Click (отправитель объекта, EventArgs e)
{
string conString = "Provider = Microsoft.Jet.OLEDB.4.0;"
+ "Источник данных = 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();
}
}
}
Когда я не хочу передавать значения, это показывает, что в типе данных в условном выражении есть ошибка.