从数据库中插入列表值
Insert in list values from database
我有一个函数可以从数据库中选择一些列值。我希望将这些选定的值插入到最多包含 26 个项目的列表中。我怎样才能做到这一点?列表中的一个 "row" 包含 question
和 answer1,answer2,answer2,option1,option2,option3
。我怎样才能做到这一点?我真的不知道如何使用列表。
private void select()
{
if (index.connect.State == ConnectionState.Open) {
index.connect.Close();
}
MySqlCommand cmd = new MySqlCommand(dataA, index.connect);
cmd.CommandType = CommandType.Text;
using (index.connect)
{
index.connect.Open();
MySqlDataReader rdr = cmd.ExecuteReader();
try
{
if (rdr.Read())
{
label2.Text = rdr["question"].ToString();
label3.Text = rdr["answer1"].ToString();
label4.Text = rdr["answer2"].ToString();
label5.Text = rdr["answer3"].ToString();
r1 = (int)rdr["option1"];
r2 = (int)rdr["option2"];
r3 = (int)rdr["option3"];
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
index.connect.Close();
}
}
}
有几种方法可以实现您的要求。
在SQL级别,有一个简单的解决方案——你可以select一定数量的物品,即26,使用关键字"Top".
例如,
SELECT TOP 26 Grade FROM StudentsTable;
在应用程序级别,您可以通过编程方式select您想要的26个项目;例如,如果您从文本框中的 ASP 应用程序获取它们,并且数据库交互是从 button_Click 事件激活的,您可以在函数本身中 Select 它们;为了说明,假设您想要 select 50 个名为 Label 的标签中的最大 26 个值,您将在 button.Click:
List<int> MyLabels = FindMaxValues(<Your array of labels>, 26)
//Database stuff with MyLabels
函数本身:
private static List<int> FindMaxValues(Labels[] myLbls, int AmountOutOfMax)
{
int LabelValue=0
for(int i=0;i<AmountOutOfMax;i++)
{
for(int k=0;k<50;k++)
{
LabelValue=int.Parse(myLbls[k])
// find max, etc.
}
}
}
我的观点是 - 有很多解决方案,这个问题有点模糊 - 你应该根据你的应用找到适合你的,然后去做;
祝你好运:)
我有一个函数可以从数据库中选择一些列值。我希望将这些选定的值插入到最多包含 26 个项目的列表中。我怎样才能做到这一点?列表中的一个 "row" 包含 question
和 answer1,answer2,answer2,option1,option2,option3
。我怎样才能做到这一点?我真的不知道如何使用列表。
private void select()
{
if (index.connect.State == ConnectionState.Open) {
index.connect.Close();
}
MySqlCommand cmd = new MySqlCommand(dataA, index.connect);
cmd.CommandType = CommandType.Text;
using (index.connect)
{
index.connect.Open();
MySqlDataReader rdr = cmd.ExecuteReader();
try
{
if (rdr.Read())
{
label2.Text = rdr["question"].ToString();
label3.Text = rdr["answer1"].ToString();
label4.Text = rdr["answer2"].ToString();
label5.Text = rdr["answer3"].ToString();
r1 = (int)rdr["option1"];
r2 = (int)rdr["option2"];
r3 = (int)rdr["option3"];
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
index.connect.Close();
}
}
}
有几种方法可以实现您的要求。
在SQL级别,有一个简单的解决方案——你可以select一定数量的物品,即26,使用关键字"Top".
例如,
SELECT TOP 26 Grade FROM StudentsTable;
在应用程序级别,您可以通过编程方式select您想要的26个项目;例如,如果您从文本框中的 ASP 应用程序获取它们,并且数据库交互是从 button_Click 事件激活的,您可以在函数本身中 Select 它们;为了说明,假设您想要 select 50 个名为 Label 的标签中的最大 26 个值,您将在 button.Click:
List<int> MyLabels = FindMaxValues(<Your array of labels>, 26)
//Database stuff with MyLabels
函数本身:
private static List<int> FindMaxValues(Labels[] myLbls, int AmountOutOfMax)
{
int LabelValue=0
for(int i=0;i<AmountOutOfMax;i++)
{
for(int k=0;k<50;k++)
{
LabelValue=int.Parse(myLbls[k])
// find max, etc.
}
}
}
我的观点是 - 有很多解决方案,这个问题有点模糊 - 你应该根据你的应用找到适合你的,然后去做;
祝你好运:)