2023年6月C winform專案開發總結

2021-08-26 11:56:02 字數 4884 閱讀 2653

datagridview中如果多出一行 則將allowusertoaddrows 屬性設為false;

用做為背景圖會出現抖動現象,將窗體的doublebuffered  雙快取處理設為true。

控制項的 dock屬性:獲取或設定哪些邊框停靠父容器並隨父容器變大變小。

sendtoback:將控制項傳送到z順序的後面。

bringtofront:將控制項傳送到z順序的前面。

dispose:放在最後用於釋放所有資源。

datagridview控制項中獲取或設定某一行,某一列的資料datagridview1.rows[i].cells[8].value 的值。

設定datagridview控制項中網格的列為自動寬度:

for(int i=0;idatagridview1.columns[i].autosizemode=datagridviewautosizecolumnmode.allcells;//自適應列寬

datagridview1.columns[0].headertext="列名", 設定表的列名

}1,連線資料庫字串;

2連線物件 sqlconnection con=new sqlconnection(連線資料庫的字串)

3,開啟連線

4,資料庫語句

5,建立資料庫介面卡物件,用於填充dataset 物件

sqldataadapter da=new sqldataadapter(sql,con); 傳入的參試sql語句,和乙個資料庫連線物件。

6,建立dataset 物件

dataset ds=new dataset()

7填充 da.fill(ds,"fsdf隨便填");

8關閉連線

9為資料元件繫結資料來源 datagridview1.datasource=ds.ta

con.open()

string sql="select * from 表名";

sqlcommand comm=new sqlcommand(sql, con);

sqldataadapter dr=new sqldataadapter();

dr.selectcommand=comm;

dataset ds=new dataset();

dr.fill(ds);

con.close();

datagridview1.datasource=ds.tables[0].defaultview;

string sql=「update 表名  set 欄位名=das where 。。。」

更新,插入,刪除用sqlcommand 物件,表示:執行乙個語句或乙個儲存過程

sqlcommand cmd=new sqlcommand(sql,con)

cmd.executenonquery();

string sql=「select count(*) from 表名 where id=。。」

sqlcommand com=new sqlcommand(sql,connection);

string line=com.executescalar().tostring(); 返回;影響的行數。

獲取datagridview1元件中選中單元格,或一行的資料datagridview1.selectedcells[0].value.tostring();

convert.toint16("123") 強轉型別。

日期控制項轉化為字串: datetimepicker2.value.tostring();

確定,取消對話方塊。

dialogresult r = messagebox.show("確認要刪除該執法人員的資訊嗎?", "提示", messageboxbuttons.okcancel, messageboxicon.asterisk);

if(r==dialogresult.cancel)

sql 中時間型別的字段可以時間格式相同的字串的相比較

先新建這個列物件

system.windows.forms.datagridviewcheckboxcolumn chk;

chk=new system.windows.forms.datagridviewcheckboxcolumn();

chk.headertext="選擇";

chkname=「chk」;

this.datagridview1columns.add(chk);

datagridviewcheckboxcell checkcell;

private void button2_click(object sender, eventargs e)

);for (int i = 0; i < datagridview1.rows.count; i++)

}//for

private void button1_click(object sender, eventargs e)

str += datagridview1.columns[i].headertext;

}sw.writeline(str);

//寫內容

for (int j = 0; j < datagridview1.rows.count; j++)

tempstr += datagridview1.rows[j].cells[k].value.tostring();

}sw.writeline(tempstr);

}messagebox.show("匯出成功", "提示", messageboxbuttons.ok, messageboxicon.information);

sw.close();

mystream.close();

}catch (exception ex)

finally

}string s=「select * from 表名  where datetime>='」+datetime.now.adddays(-7).tostring()+"' and datetime<='"+datetime.now.tolocaltime().tostring()+"' order by datetime desc";

datetime dt=this.datetimepicker1.value;

string sql="select * from 表名 where datetiem>='"+dt.adddays(-7).tostring()+"'  and datetiem<="+this.datetimepicker1.value.tostring()+"' order by [datetime] desc";

select f_site_code,f_site_name,f_road_coding,mileage,meter,

count(f_hspid) totalnum,

sum(case when f_overlimited > 1000 then 1 else 0 end  ) as overnum,

0 as cxl

from b_site a left join b_hspinfo h on a.f_site_code = h.f_stationid where a.f_type='1'

group by f_site_code,f_site_name,f_road_coding,mileage,meter;

select  (case when f_speed is null then 12 else f_speed end ) as f_speed from b_hspinfo;

查詢語句拼接,條件不確定時,可以先寫 where 1=1;

sqldataadapter 連線 dataset 和資料庫 ;sqldataadapter.fill()方法可以填充到dataset資料集中去,第二引數為繫結dataset中的資料;繫結個表名,不寫的話,再次執行fill方法,將資料追加到預設表的後面。

dataset.tables["表名"]去獲取指定表資料

datatable 物件可以通過dataset賦值表資料,也可以自己設定表資料;其中行操作,datatable.columns.add()新增列名datatable.rows["行索引"]["列索引"] 去操作表中每一行,每一列的資料

sql語句中case 的用法:case 表示式(可省略) when 判讀 then 處理  else 預設處理 end 可以用於判斷輸出, 過濾輸出

as 用於 重新命名 或者省略

select 列名="預設值"  填加一列預設值的資料

報表檔案與資料集檔案同用

報表檔案需要繫結資料集檔案

報表檔案設定當前頁的表示式:"第" & globals!pagenumber & "頁/共" & globals!totalpages & "頁"

獲取當前時間 cdate(now()).tostring("yyyy-mm-dd:hh:mm")

microsoft.reporting.winforms.reportdatasource reportdatasource1 = new microsoft.reporting.winforms.reportdatasource();

reportviewer1.reset();

reportviewer1.localreport.datasources.clear();

this.reportviewer1.localreport.reportpath = @"..\..\repnostopcar.rdlc";

reportviewer1.localreport.reportembeddedresource = "winfmain.fm_rptnostopcar.repnostopcar.rdlc";

reportviewer1.localreport.datasources.add(new microsoft.reporting.winforms.reportdatasource("dataset1", dt));

this.reportviewer1.refreshreport();

學習筆記 2023年11月6日

tvm的作用是針對不同的硬體平台,包括cpu gpu tpu等,對各種深度學習框架的 主要是inference過程 進行統一優化,目的是使得演算法模型在各種不同的硬體平台上的執行得到加速 1.可以end to end優化,也可以優化使用者指定的各種操作 2.autotvm自動優化操作池 3.提供乙個...

2023年6月5號(離散化)

today,我們接觸了新的名詞 離散化,聽著就覺的高大尚 離散化是什麼,這個問題問得好 問度娘 離散化,把無限空間中有限的個體對映到有限的空間中去,以此提高演算法的時空效率。通俗的說,離散化是在不改變資料相對大小的條件下,對資料進行相應的縮小。例如 原資料 1,999,100000,15 處理後 1...

2023年6月10日訓練日記

好久沒寫訓練日記了。沉迷寫題解無法自拔 這周主要是做dp4專題。絞盡腦汁想了好幾天。終於乾掉了三道題。兩道參考了題解。基本思路還是有的,就是實現起來總是不知道哪個地方會出什麼錯。找時間寫題解 不過總算做完了一道題還是有一道題的收穫的。感覺dp的初始化很關鍵啊。狀態轉移方程也要正確 有些題目可以大致歸...