您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

常见问题答疑

文章目录

    • 1、考试题中表示出售和售罄的三目运算符不会表示
    • 2、Datagridview控件里面怎么做到每行都有按钮
    • 3、添加单选按钮的数据到数据库中不知道怎么写
    • 4、绑定数据源
    • 五、不会将数据库里的数据导进表格、不会写DBHelper、不会窗体之间的连接
        • 1、将数据库里的数据导进表格
        • 2、DBHelper
        • 3、窗体之间的连接


提示:以下是本篇文章正文内容,下面案例可供参考

知识点讲解

1、考试题中表示出售和售罄的三目运算符不会表示

三目运算符强大而独特,它提供了一种表达简单 if-else 语句的简写方法。该运算符由问号(?)和冒号(:)组成,其格式如下:

表达式 ? 表达式 : 表达式 ;

以下是使用条件运算符的语句示例:

x < 0 ? y = 10 : z = 20;

这个语句被称为条件表达式,它由 3 个子表达式组成,使用问号 ? 和冒号 : 分隔。这 3 个表达式分别是:x<0,y = 10 和 z = 20。

上面的条件表达式与以下 if-else 语句执行相同的操作:

if (x < 0)
{
   y = 10}
else
{
  z = 20;
}

2、Datagridview控件里面怎么做到每行都有按钮

  • 添加 DataGridViewButtonColumn

dataGridView添加列的时候,类型选择DataGridViewButtonColumn

属性定义
Name列的名字
Text按钮单元格中显示的默认文字
UseColumnTextForButtonValue在所有按钮上显示Text
  • 获得按钮被点击

点击DataGridViewButtonColumn的按钮时,会触发DataGridView.CellContentClick事件。
这个事件处理器可以检测被点击的按钮是否在列中,如果在就会被触发。

下面的例子就是当按钮被点击时,取得是第几行的按钮被点击了。

 private void dgvMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        if (dgvMain.Columns[e.ColumnIndex].Name == "Detail") //Detail为按钮列的Name值
        {
            //单击的处理代码
            MessageBox.Show("行: " + e.RowIndex.ToString() + ", 列: " + e.ColumnIndex.ToString() + "; 被点击了");
        }
    }

3、添加单选按钮的数据到数据库中不知道怎么写

单选按钮:radioButton

//声明一个变量存储选中按钮的值
string sex = "";
//判断选则了哪一个按钮
if (radioButton1.Checked==true)
{
   sex = radioButton1.Text;
   //MessageBox.Show(sex);
}
if (radioButton2.Checked == true)
{
   sex = radioButton1.Text;
   //MessageBox.Show(sex);
}

将存放选中按钮的值的变量(sex)添加到数据库即可

4、绑定数据源

原理:设置dataGridView的DataSource属性

一般流程:查询数据库,把查询结果绑定到dataGridView 例如:

string sql = string.Format("SELECT [Id],[name],[type],[neirong],[day],[time] FROM [dbo].[Promotion]");
DataTable dt = DBHelper.GetTable(sql);
dataGridView1.AutoGenerateColumns = false;//禁止自动生成列
dataGridView1.DataSource = dt;//绑定数据源

五、不会将数据库里的数据导进表格、不会写DBHelper、不会窗体之间的连接

1、将数据库里的数据导进表格

第一步、就是上面的绑定数据源
第二步、设置dataGridView列的数据源

  • 编辑列

在这里插入图片描述

  • 设置列的数据源 DataPropertyName,对应数据库表的字段

在这里插入图片描述

2、DBHelper

DBHelper只能靠练,练习够了,也就永远都忘不了。

跟大家分享一下我常用的结构

public class DBHelper
    {
        //创建连接字符串
        public static string connstr = @"Data Source=.;Initial Catalog=CINEMA;Integrated Security=True";
        //查询
        public static DataTable GetTable(string sql)
        {
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
            SqlCommand com = new SqlCommand(sql, conn);
            //创建空的数据池
            DataTable dt = new DataTable();
            SqlDataAdapter dap = new SqlDataAdapter(com);
            //填充数据池
            dap.Fill(dt);
            conn.Close();
            return dt;
        }
        //增删改
        public static bool ExecuteNonQuery(string sql)
        {
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
            SqlCommand com = new SqlCommand(sql, conn);
            bool ret=com.ExecuteNonQuery() > 0;//返回受影响的行数是否大于0
            conn.Close();
            return ret;
        }
    }

3、窗体之间的连接

  • 窗体之间的连接无非就两种——模式窗体和非模式窗体
方法定义
Show()非模式窗体
ShowDialog()模式窗体

模式窗体:以独占的方式运行,简单地说就是,一个进程里的某模式窗体没有运行完毕(关闭)就不能使用其它窗体,直至关闭它为止。看上去它好像就是独占的方式在运行。

非模式窗体:与模式窗体相反的就是非模式窗体。原理相反。


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进