做得C#的表单设计,求助如何通过combobox得到数据表的名称列

峰峦@叠嶂 2022-12-20 16:03:37

 各位好,我对一个连接数据库的按钮,写的如下代码,想通过点击该按钮,表单上的combobox控件便会出现上述设备名称的列表,但目前运行后提示数据库连接成功,但combobox控件是空的,没有代表名称,代码如下,请给指导一下,谢谢;

 

String connectionString = String.Format("server={0};database={1};uid={2};pwd={3};", textBoxHost.Text, textBoxDBName.Text, textBoxUser.Text,textBoxPassword.Text);
            SqlConnection sqlconn = new SqlConnection(connectionString);
            try
            {
                sqlconn.Open();

                conn = new SqlConnection(connectionString);
                //打开数据库连接
                conn.Open();
                MessageBox.Show("数据库连接成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据库连接失败,请填写准确连接参数");
                return;
            }
            //声明一个SQLcommand对象

            SqlCommand sqlcmd = new SqlCommand("SELECT * FROM b_EquipmentInfo Where Equipmentname = '@Equipmentname'", sqlconn);

            //用DataAdapter声明一个对象
            SqlDataAdapter sda = new SqlDataAdapter();
 
            //执行查询语句
            sda.SelectCommand = sqlcmd;
 
            //创建一个数据集对象
            DataSet ds = new DataSet();
 
            //调用DataAdapter对象的Fill()方法来填充数据集
            sda.Fill(ds, "b_EquipmentInfo");        
    
            //选定combobox显示的成员及将Name这一列显示在combobox中
            combobox1DataTable.DisplayMember = "Equipmentname";

            //combobox的实际取值
            combobox1DataTable.ValueMember = "Equipmentcode";

            //绑定combobox的数据集
            combobox1DataTable.DataSource = ds.Tables["b_EquipmentInfo"];
 

...全文
719 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
寅恪光潜 2022-12-21
  • 打赏
  • 举报
回复

对于C#中的数据绑定,可以参考:

   //实例化 SqlConnection 变量conn,连接数据库
    conn = new SqlConnection("server=.;database=db_15;uid=sa;pwd=");
    //创建一个 SqlCommand 对象
    SqlCommand cmd = new SqlCommand("select * from tb_test",conn);
    //创建一个 SqlDataAdapter 对象
    SqlDataAdapter sda = new SqlDataAdapter();
    //设置 SqlDataAdapter 对象的 SelectCommand 属性,以及其执行的 SQL 语句
    sda.SelectCommand = cmd;
    //实例化 DataSet 
    ds = new DataSet();
    //使用 SqlDataAdapter 对象的 Fill 方法填充 DataSet 
    sda.Fill(ds,"test");
    //设置 dataGridView1 的数据源
    dataGridView1.DataSource = ds.Tables[0];
寅恪光潜 2022-12-21
  • 打赏
  • 举报
回复

你好,C#没有测试环境
对于任何语言的调试,方法可以这样去做:
1、做断点,这样可以看程序的运行状态
2、打印函数打印

Console.WriteLine(INFO) 或 Response.Write(INFO)

这里的INFO就是自己想要看到的东西,比如这里的下拉框没有数据,那就查看数据集是否能正常获取,这样去调试

下载代码方式:https://pan.quark.cn/s/a4b39357ea24 依据所提供的资料,我们深入剖析此问题以及所给出的两种算法方案。 ### 问题背景 该问题源自王晓东编撰的《算法设计与实验题解》一书,书中阐述了一个值得注意的数学议题:针对一本页码从1到n顺序编号的书籍,要求统计所有页码中数字0至9各自出现的频次。例如,若n=13,则页码序为1、2、...、13,其中数字1出现5次(体现在1、10、11、12、13中),数字0出现1次(体现在10中)。 ### 问题描述 具体而言,我们需要开发一种算法,其输入参数为一个正整数n,输出结果需为0至9这十个数字各自出现的频次。所有页码均以十进制形式呈现,且不包含任何前导零,即不会出现如006之类的页码表示。 ### 解决方案一:时间复杂度为O(n*log10(n))的算法 首先,介绍一种时间复杂度为O(n*log10(n))的算法实现。其核心构思在于遍历从1到n的每一个数值,然后逐一分解每个数值的各个位,并统计各类数字出现的频次。具体步骤如下: 1. 初始化一个长度为10的数组`count`,用于记录0至9每个数字出现的频次,初始值均为0。 2. 从1开始遍历至n,对于每一个数值i,将其转换为整数并进行以下操作: - 利用循环结构,持续将当前数值除以10,获取余数(即当前最低位的数字),并累加到对应的计数器中。 3. 遍历完成后,输出`count`数组中的每一个元素,即为所求的结果。 ### 解决方案二:优化算法 为了提升效率,提出了一种更为优越的算法。该算法基于以下观察:在1到10^n-1之间的任意区间内,每一种数字0至9出现的频次是相等的。例如,在1到999之间,每一种数字0至9出现的频次均相...

199

社区成员

发帖
与我相关
我的任务
社区描述
从零开始的小白到进阶成技术达人。 一起学习,一起进步。
golanggo1.19 个人社区 贵州省·贵阳市
社区管理员
  • 寅恪光潜
  • 网络豆
  • Somnus_小凯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Go语言集各语言优势之大成,从基础到进阶

一起学习,一起进步,成为技术达人!

试试用AI创作助手写篇文章吧