您现在的位置:首页 >> 软件开发 >> 内容

C#编程笔记

时间:2023-12-12 23:13:44 点击:

  核心提示:1、SerialPort 对象接收数据时是运行在辅助线程从 SerialPort 对象接收数据时,将在辅助线程上引发 DataReceived 事件。由于此事件在辅助线程而非主线程上引发,因此尝试修改...

1、SerialPort 对象接收数据时是运行在辅助线程
从 SerialPort 对象接收数据时,将在辅助线程上引发 DataReceived 事件。由于此事件在辅助线程而非主线程上引发,因此尝试修改主线程中的一些元素(如 UI 元素)时会引发线程异常。如果有必要修改主 Form 或 Control 中的元素,必须使用 Invoke 回发更改请求,这将在正确的线程上执行。


2、c# sql在where查询语句中使用字符串变量与int型变量?
使用where语句访问数据库时where语句用上文中以及定义过的变量来查询。
只需要在sql语句的双引号内对变量进行操作,即
(“select * from 表名  where 字段名= ‘“+ 变量名+”’    ”)
需要注意的是:‘“+ 变量名+”’ 
要用两个单引号括住两个双引号



3、DataSet中取值
(1) DataSet.Table[0].Rows[ i ][ j ] 
其中i 代表第 i 行数, j 代表第 j 列数 


(2) DataSet.Table[0].Rows[ i ].ItemArray[ j ] 
其中i 代表第 i 行数, j 代表第 j 列数 


(3) DataSet.Tables[0].Columns.Count 
取得表的总列数 


(4) DataSet.Tables[0].Rows.Count 
取得表的总行数 


(5) DataSet.Tables[0].Columns[ i ].ToString() 
取得表的 i 列名 


注意:行和列的计算,都是从0开始 
 
(1). 第一行第一列的值 
DataSet ds=new DataSet(); 
ds.Tables[0].Rows[0][0].ToString(); 


(2).第一行对应列的字段名  
ds.Tables[0].Rows[0]["字段名"].ToString(); 
dbset.tables(0).rows(0).item("第一列的列名")  


(3). 行、列总数
DataSet_x.Tables[ "TableName "].Rows.Count  
DataSet_y.Tables[ "TableName "].Columns.Count   
  


(4). 取某一列的值 
dataset.Tables["PersonInfo"].Rows[0]["age"].ToString(); 
  
(5).向DataSet中插入新的一列 
DataSet ds = new DataSet(); 
ds.Table[0].Columns.Add("字段名","字段类型"); 


(6). 向DataSet中添加一行记录    dataset ds=new dataset();  
   DataRow dr = ds.Tables[0].NewRow(); 
   dr["Finishdate"] = finishdate; 
   dr["Operator"] =Operator; 
   dr["disp"] =disp; 
   ds.Tables[0].Rows.Add(dr);


4、datagridview列宽设置
列宽手动调整
this.dataGridView2.Columns[0].Width = 70;
this.dataGridView2.Columns[1].Width = 110;
//列宽自动调整
dataGridView2.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;


5、跨窗体调用文本框值示例:


子窗体页代码://定义子窗体名


        public static gzl_input m_gzl;


        public gzl_input()
        {
            InitializeComponent();
            m_gzl = this;
        }


        子窗体textBox3文本框的Modifiers属性改为Public


主窗体调用文本框代码:


        gzl_input.m_gzl.textBox3.Text


 


6、datagridview行高、列宽、字段行宽设置


this.dataGridView1.Columns[i].Width = 100;
this.dataGridView1.Rows[i].Height = 40;


dataGridView1.ColumnHeadersHeightSizeMode=DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
dataGridView1.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGridView1.ColumnHeadersHeight = 60;


7、SQL插入记录命令中使用某个字符串数组变量时出错


下面代码执行出错:
string intoscbh = GCS[0, 0];
textBox2.Text = intoscbh;
sql.ExecuteNonQuery1("insert into scjl(load_scbh)values('" + intoscbh + "')");
其中GCS[0, 0]中存储的是XYZ123456,在textBox2.Text中显示的也是XYZ123456,但执行SQL执令时却出错。
错误提示:字符串的语法错误 在查询表达式 ''XYZ123456' 中。



改成如下就可以正常:(GCS[0,0]增加字符串截取函数)
string intoscbh = GCS[0, 0].Substring(0, 9);
textBox2.Text = intoscbh;
sql.ExecuteNonQuery1("insert into scjl(load_scbh)values('" + intoscbh + "')");

作者:站长 来源:原创
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 陈工笔记(www.dui580.com) © 2024 版权所有 All Rights Reserved.
  • 站长:陈工 微信号:chengongbiji QQ:24498854
  • Powered by 陈工