1

如果用户正在创建数据库,我不知道如何调用该方法来检查数据库是否具有相同的站名。我设法将数据库的列存储到数组中,但我仍然无法检查。有人可以帮我吗?我现在有点卡住了。

这是按钮处理程序中的代码,用于将数据创建到数据库中。

 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();
        }
    }

任何人都可以帮忙吗?对你的帮助表示感谢。

4

2 回答 2

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
              }
        }
   }
于 2012-07-13T07:56:43.230 回答
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 中的某个文本框。

于 2012-07-13T08:22:36.337 回答