我是C#的新手,我想练习使用参数的技能,但是我遇到了一些麻烦。我正在设计一个系统,当学生点击'view'按钮时,系统应该从数据库中查看每个问题。传递按钮作为参数在C#
目的:
我想要实现的是,当用户点击该按钮被标记为“下一个”。该系统应该'查看;数据网格上的下一个问题。我想也许我应该做一个查询说,像“选择问题来自... where questionID = btnView。也许有一个函数,每当用户点击按钮时,它将1,2,3 ... 10作为questionID (因为有10个问题)
这是我的C#代码:
try
{
string mydbConnection = "datasource=localhost;port=3306;Initial Catalog=project;username=***;password=***;";
MySqlConnection connDB = new MySqlConnection(mydbConnection);
MySqlCommand cmdDataBase = new MySqlCommand("SELECT questions.question, questions.answer FROM questions WHERE questionID ='" + questionID + "' ;",connDB);
connDB.Open();
MySqlDataAdapter sda = new MySqlDataAdapter();
sda.SelectCommand = cmdDataBase;
DataTable dbdataset = new DataTable();
sda.Fill(dbdataset);
BindingSource bSource1 = new BindingSource();
sda.Update(dbdataset);
bSource1.DataSource = dbdataset;
dataGridView1.DataSource = bSource1;
sda.Update(dbdataset);
this.dataGridView1.Columns[3].Visible = false;
this.dataGridView1.Columns[0].Visible = false;
connDB.Close();
}
,这是我的按钮功能让每一个 'questionID'
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i >= 10; i++)
{
int questionID = i;
}
viewQuestion(questionID);
}
questionID不存在当前上下文。
注:
上DataGrid中的东西的作品我只是希望它当用户点击按钮查看每一个问题。
编辑:
int questionID = 0;
for (int i = 1; i >= 10; i++)
{
int questionID = i;
}
viewQuestion(questionID);
原因:
本地或命名为“questionID”不能在此范围中声明因为其名称是在一个封闭的局部范围用于定义一个局部参数或参数
有关的,你应该读作[微软.NET的变量和方法适用范围]变量可访问性(更多信息https://msdn.microsoft.com/en-us/库/ ms973875.aspx) –