c# - 单击按钮时如何在文本框中显示不同的sql数据

标签 c# mysql

我的 MySql 数据库由一列 id 组成,其中包含从 1 到 30 的数字。我想在每次按下按钮时在文本框中显示数字 1 到 30被按下。但是,我的代码仅显示第一行,即 1。

我试过以下代码:

SqlConnection Conn = new SqlConnection("Data Source=SUMIT;Initial Catalog=Project;Integrated Security=True"); 
SqlCommand Comm1 = new SqlCommand("Select * from id", Conn); 
Conn.Open(); 
SqlDataReader DR1 = Comm1.ExecuteReader();

if (DR1.Read()) {
    textBox3.Text = DR1.GetValue(0).ToString();
}
Conn.Close();

最佳答案

有几种方法可以做到这一点。

首先使用SQL

在按钮点击函数之外保留数字的计数

int BtnCount = 0;

在按钮点击

SqlConnection Conn = new SqlConnection("Data Source=SUMIT;Initial Catalog=Project;Integrated Security=True"); 
SqlCommand Comm1 = new SqlCommand("Select * from id WHERE ID = " + BtnCount  , Conn); 
Conn.Open(); 
SqlDataReader DR1 = Comm1.ExecuteReader();

if (DR1.Read()) {
    textBox3.Text = DR1.GetValue(0).ToString();
}
Conn.Close();
BtnCount ++;
if(BtnCount>30)
{
    BtnCount = 0;
}

其次你可以调用集合/列表/数组中的所有数据,这也将提高你的系统速度

创建字符串列表

List<string> ListData = new List<string>();

像这样在构造函数中填充列表

SqlConnection Conn = new SqlConnection("Data Source=SUMIT;Initial Catalog=Project;Integrated Security=True"); 
SqlCommand Comm1 = new SqlCommand("Select * from id WHERE ID = " + BtnCount  , Conn); 
Conn.Open(); 
SqlDataReader DR1 = Comm1.ExecuteReader();

while(DR1.Read()) 
{
    ListData.Add(DR1.GetValue(0).ToString());
}
Conn.Close();

并在按钮上点击显示列表的内容 BtnCount

注意:这只是为了让你知道我没有运行程序来测试。

关于c# - 单击按钮时如何在文本框中显示不同的sql数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261739/

相关文章:

c# - 在 .NET Core 3 中获取嵌入式资源内容的类型安全方式

php - CF7DB-extension 的短代码内的短代码(Wordpress Contact form 7 到数据库插件)

c# - 在添加/删除项目时动态调整 ListView 高度?

c# - 如何从无效的html中获取有效的html?

c# - 路径为空的 Uri

python - 尝试在 OS X 上安装 MySQLdb 时出现错误

php - 将 Backbone.js 模型插入 MySQL 数据库

c# - 将用户控件弹出到新窗口中

查询期间 MySQL 连接丢失

MySQL 选择指定日期在开始日期和结束日期之间的行