我正在为拍卖申请 wpf。主窗口如下所示:http ://www54.zippyshare.com/v/91622733/file.html
主窗口代码:
namespace WpfApplication25
{
/// <summary> <br>
/// Interaction logic for MainWindow.xaml <br>
/// </summary> <br>
public partial class MainWindow : Window <br>
{
int count = 120;
System.Windows.Threading.DispatcherTimer tmr = new System.Windows.Threading.DispatcherTimer();
public MainWindow()
{
InitializeComponent();
tmr.Interval = new TimeSpan(0, 0, 1);
tmr.Tick += new EventHandler(tmr_Tick);
DataTable aukcijeTable = new DataTable();
SqlConnection conn = new SqlConnection(@"data source=(local);database=Aukcija;integrated security=true;");
SqlDataAdapter aukcDa = new SqlDataAdapter("select * from auctions", conn);
aukcDa.Fill(aukcijeTable);
aukcija_bazeDataGrid.DataContext = aukcijeTable;
}
void tmr_Tick(object sender, EventArgs e)
{
label1.Content = count -= 1;
if (count == 0 )
{
System.Windows.Forms.MessageBox.Show("Auction completed");
tmr.Stop();
count = 120;
}
else
{
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
Form1 popup = new Form1();
popup.ShowDialog();
popup.Dispose();
}
private void button3_Click(object sender, RoutedEventArgs e)
{
Form2 popup = new Form2();
popup.ShowDialog();
popup.Dispose();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
tmr.Start();
using (SqlConnection conn = new SqlConnection(@"data source=(local);database=Aukcija;integrated security=true;"))
{
DataTable cena1 = new DataTable();
conn.Open();
SqlDataAdapter DA = new SqlDataAdapter(" UPDATE auctions SET current_price = current_price + 1", conn);
SqlCommand cmd = new SqlCommand ("UPDATE auctions SET current_price = current_price + 1", conn);
DA.Fill(cena1);
//DA.Update(cena1);
cmd.ExecuteNonQuery();
SqlCommandBuilder cb = new SqlCommandBuilder(DA); //novo
DA.Update(cena1); //novo
conn.Close();
}
}
private void aukcija_bazeDataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
private void button4_Click(object sender, RoutedEventArgs e)
{
tmr.Start();
}
private void button5_Click(object sender, RoutedEventArgs e)
{
tmr.Stop();
System.Windows.Forms.MessageBox.Show("Auction completed!");
count = 120;
}
}
}
另外,我制作了一个用于添加新拍卖的新表格,如下所示: http ://www8.zippyshare.com/v/35519167/file.html 。
该新表格的代码:
namespace WpfApplication25 {
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
using (SqlConnection connection = new SqlConnection(
@"data source=(local);
database=Aukcija;
integrated security=true;"))
{
DataTable aukcijeTable = new DataTable(); //novo
SqlCommand cmd = new SqlCommand("INSERT INTO Auctions (item_name, start_price, current_price ) VALUES (@item_name, @start_price, @current_price)");
cmd.CommandType = CommandType.Text;
cmd.Connection = connection;
connection.Open();
cmd.Parameters.AddWithValue("@item_name", textBox1.Text);
cmd.Parameters.AddWithValue("@start_price", textBox2.Text);
cmd.Parameters.AddWithValue("@current_price", textBox3.Text);
cmd.ExecuteNonQuery();
connection.Close();
}
}
}}
当我点击button1_Click
它时,我会打开一个新表格,并用新的拍卖信息填写它,当我点击确定时,什么也没有发生。我必须关闭我的应用程序并再次打开它才能显示数据库中新插入的记录。
我在代码中遗漏了什么?当我按下确定时,我需要一些东西来自动刷新(更新)主窗口......