【发布时间】:2014-03-12 09:48:38
【问题描述】:
有人可以帮我完成学校作业吗?我是这方面的初学者,有很多我不明白的事情。我现在要去学校学习编程,但对我来说学习速度很慢,教授给了我们任务,但不幸的是我不知道如何解决它。有人能帮我吗?请。
作业如下:
“拍卖”
创建用于拍卖的 WPF 应用程序,其中包含以下内容:
-应用程序包括管理用户的系统,实现了低谷数据库。它必须至少有两个用户(管理员和普通用户)。
-Auctions 正在从数据库中获取数据
- 在拍卖的主窗口中,它显示了目前正在拍卖的所有产品。对于每种产品,它都会显示有关价格、最后报价和最后投标人的数据。
- 未登录用户有权观看所有拍卖信息,但无权投标。
-普通用户仅有权投标价格
-管理员有权输入新产品和删除现有产品。输入新产品的所有内容都必须输入他的起始价格,名称和其他信息。
拍卖应该如何运作:
输入产品的那一刻,该产品的拍卖开始,倒计时开始。每次拍卖有 2 分钟的时间完成。只要用户出价,拍卖时间就会重新开始,并获得额外的 2 分钟。当用户对产品出价时,产品的价格每增加一美元。拍卖结束后,最后出价的用户将被标记为获胜者,拍卖即将结束,其他用户无法使用。
我尝试创建一些我的代码,但我得到了不同的错误。
一些错误消息,但还有更多:'AukcijskaProdaja.MainWindow' 不包含'button1_Click' 的定义,并且找不到接受'AukcijskaProdaja.MainWindow' 类型的第一个参数的扩展方法'button1_Click'(是您缺少 using 指令或程序集引用?);名称“conn”在当前上下文 c:\users\denis\documents\visual studio 中不存在;命名空间“AukcijskaProdaja”中不存在类型或命名空间名称“AukcijaDataSet”(您是否缺少程序集引用?)
xaml:
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<my:AukcijaDataSet x:Key="aukcijaDataSet" />
<CollectionViewSource x:Key="aukcija_bazeViewSource" Source="{Binding Path=Aukcija_baze, Source={StaticResource aukcijaDataSet}}" />
<Grid>
<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" Height="136" HorizontalAlignment="Left" ItemsSource="{Binding}" Margin="78,22,0,0" Name="aukcija_bazeDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="391">
<DataGrid.Columns>
<DataGridTextColumn x:Name="aukcijaIdColumn" Binding="{Binding Path=AukcijaId}" Header="Aukcija Id" Width="SizeToHeader" />
<DataGridTextColumn x:Name="artikalNameColumn" Binding="{Binding Path=ArtikalName}" Header="Artikal Name" Width="SizeToHeader" />
<DataGridTextColumn x:Name="cijenaColumn" Binding="{Binding Path=Cijena}" Header="Cijena" Width="SizeToHeader" />
</DataGrid.Columns>
</DataGrid>
<Label Content="AukcijaId" Height="23" HorizontalAlignment="Left" Margin="69,268,0,0" Name="label1" VerticalAlignment="Top" Width="83" />
<Label Content="ArtikalName" Height="24" HorizontalAlignment="Left" Margin="154,267,0,0" Name="label2" VerticalAlignment="Top" Width="68" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="69,240,0,0" Name="AukcijaId" VerticalAlignment="Top" Width="63" DataContext="{Binding Path=aukcijaIdColumn}" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="154,240,0,0" Name="ArtikalName" VerticalAlignment="Top" Width="68" DataContext="{Binding Path=artikalNameColumn}"/>
<Button Content="Ponuda" Height="26" HorizontalAlignment="Left" Margin="242,240,0,0" Name="button1" VerticalAlignment="Top" Width="68" Click="button1_Click" />
<Label Content="Vrijeme" HorizontalAlignment="Left" Margin="378,240,0,148" Name="label4" Width="81" />
<Label Content="Unesi ponudu" Height="28" HorizontalAlignment="Left" Margin="69,206,0,0" Name="label5" VerticalAlignment="Top" Width="83" />
<ListBox Height="38" HorizontalAlignment="Left" Margin="78,153,0,0" Name="listBox1" VerticalAlignment="Top" Width="391" />
</Grid>
C#:
namespace AukcijskaProdaja
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
AukcijskaProdaja.AukcijaDataSet aukcijaDataSet = ((AukcijskaProdaja.AukcijaDataSet)(this.FindResource("aukcijaDataSet")));
// Load data into the table Aukcija_baze. You can modify this code as needed.
AukcijskaProdaja.AukcijaDataSetTableAdapters.Aukcija_bazeTableAdapter aukcijaDataSetAukcija_bazeTableAdapter = new AukcijskaProdaja.AukcijaDataSetTableAdapters.Aukcija_bazeTableAdapter();
aukcijaDataSetAukcija_bazeTableAdapter.Fill(aukcijaDataSet.Aukcija_baze);
System.Windows.Data.CollectionViewSource aukcija_bazeViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("aukcija_bazeViewSource")));
aukcija_bazeViewSource.View.MoveCurrentToFirst();
}
public void BindMyData()
{
try
{
conn.Open();
SqlCommand comm = new SqlCommand("SELECT * FROM Aukcija_baze", conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(comm);
da.Fill(ds);
aukcija_bazeDataGrid.ItemsSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
}
BindMyData();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
conn.Open();
SqlCommand comm = new SqlCommand("INSERT INTO Aukcija_baze VALUES(" + AukcijaId.Text + ",'" + ArtikalName.Text + "',", conn);
comm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
BindMyData();
}
{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer.Start();
}
}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
}
}
}
【问题讨论】:
-
请添加一些信息:您遇到了什么错误?你的问题不能很好地回答。请参阅 stackoverflow.com/help/how-to-ask 了解一个好的问题是什么样的
-
嗨,Sascha,我在上面编辑了出现的错误,但我可以看到我的代码一点都不好,显然需要重写。也可以尝试将我的代码复制粘贴到 Visual Studio 中,然后会看到所有错误。
-
@Ronin 所以我们的工作是重写你的代码并纠正你的程序?在提出问题之前,您是否尝试在 Google 中搜索这些错误?
-
+1,我同意可以进行更多研究,但这是一个明确的问题,已发布尝试解决该问题。