我不知道如何调用该方法来检查数据库是否具有相同的Station名称(如果用户正在创建它)。我设法将数据库的列存储到数组,但我仍然无法检查。任何人都可以帮助我吗?我现在有点卡住了。
这是按钮处理程序中的代码,用于生成将数据创建到数据库中。
private void btnCreate_Click(object sender, EventArgs e)
{
using (testEntities Setupctx = new testEntities())
{
station creStation = new station();
creStation.Station1 = txtStation.Text;
creStation.Seats = cbSeats.SelectedItem.ToString();
Setupctx.stations.AddObject(creStation);
Setupctx.SaveChanges();
txtStation.Text = "";
cbSeats.SelectedIndex = -1;
MessageBox.Show("New Station Has Been Created.");
}
}
这是我将列存储到数组中的代码。
private string[] StationNameList()
{
using (testEntities Setupctx = new testEntities())
{
return Setupctx.stations.Select(x => x.Station1).OrderBy(x => x).ToArray();
}
}
有人可以帮忙吗?非常感谢您的帮助。
答案 0 :(得分:1)
如果您想检查数据库中是否已存在该电台,那么在添加电台之前btnCreate_Click
,您可以从方法StationNameList
获取电台列表,然后检查电台名称在文本框中输入已经存在于列表中。你可以做到
private void btnCreate_Click(object sender, EventArgs e)
{
using (testEntities Setupctx = new testEntities())
{
string[] stations = StationNameList();
if(stations.Contains(txtStation.Text))
{
//already exists
}
else
{
//does not exists
//your code to insert the new object
}
}
}
答案 1 :(得分:0)
试试这个
private void btnCreate_Click(object sender, EventArgs e)
{
using (testEntities Setupctx = new testEntities())
{
station creStation = new station(){Station1=txtStation.Text,Name=NameTextbox.text,Seats = cbSeats.SelectedItem.ToString()};
if (!Setupctx.Stations.Any(st => st.Name == creStation.Name))
{
Setupctx.stations.AddObject(creStation);
Setupctx.SaveChanges();
txtStation.Text = "";
cbSeats.SelectedIndex = -1;
MessageBox.Show("New Station Has Been Created.");
}
}
}
我希望这会有所帮助,我希望你在Station类中有Name属性,并且绑定到UI中的一些Textbox。