從0開始的小小菜鳥遇到的錯誤歸納以及解決方案和原因

2021-10-25 08:46:03 字數 4120 閱讀 9623

舉例:

new

adddal()

.addnameber

(result)

;//addnamber 方法名 result 引數

adddal為命名空間不為型別…

dal層的命名空間與class類名名稱重合,更改dal的class類名

舉例:model層:

namespace testmodel

}

解決方案:

將【fiel…】與【table…】兩個位置互換

原因:兩個限定約束條件的位置寫反,將兩個限定約束語句調換位置,約束主鍵條件寫在主鍵下,約定總體資料庫表名的**寫在命名空間下。

舉例:

txt_master_id =

newguid

(txt_master_id.text)

;

解決方案:

txt.masterid =guid.

parse

(txt_master_id.text)

;

原因:

txt寫錯,應為實體類class中的txt.masterid,且guid除了new guid(string sql),有另一種轉化方式為guid.parse();

解決原因:

在修改按鈕事件中

①資料庫creationdate型別為date,應改為datetime

listlist =new bll().getallbll();

直接遍歷整張表,應根據主鍵值取出該行資料,改為getbypk(txt.id),在取出儲存的資料庫值creationdate

lab_student_creationdate.text = convert.

tostring

(new

bll().

getbypkbll

(txtstudentid.text)

.creationdate()

)

舉例:

原檔案:

2020-09-28 08:36:22,339 [t:1] [ l:info]-更新成功,更新檔案0.

正規表示式:

(?

.*)\[[t

:1][

l:info-更新成功,更新檔案].*

(?\d)

結果:沒有匹配

解決:更新成功,更新檔案.[t:1][l:info].-.且要注意空格字元,以\s代替

(

?.*)\s\[t:

1][l

:info]\s-\s更新成功,更新檔案.*(

?\d)

//括號和尖括號格式是用於後面呼叫引用的字段

原因:在寫固定格式中,以【】為限制方法,是錯誤的,應直接寫原字串。

舉例:

namespace

util_syl

public

class

sqlhelp

解決方案及原因:

原因:當例項化該類後,會先進行類裡所有可直接執行的**,例如:string str =1;等各種類似**。該過程可稱為字段初始值設定。次過程是無法直接引用非靜態字段、方法或屬性,否則報錯。

解決:建立建構函式,在呼叫方法的**外層再包乙個方法

建構函式:

xml類:

namespace

util_syl

public

class

xmlhelp

#region 讀取指定節點的值---------------------..

....

.#endregoin

}

sql類

namespace file_monitor

如果出現以上錯誤。主要的原因有:

請檢查資料型別轉換過程有沒有錯誤。就是說「=」兩邊的型別等。

還有就是儲存過程中的引數,有可能你沒給儲存過程中的引數賦值等

對於實際遇到的問題:gridcontrol控制項新增空白行後 不能儲存到資料庫。

分析認為第二種的可能性更大。

問題:

原因:gridcontrol控制項是通過繫結資料庫為資料來源的。繫結後,gridcontrol分配的記憶體空間是與資料庫資料相同大小。當新增行且填值後,資料庫的大小沒有變,已經限定死。gridcontrol新增行屬於超出了這個記憶體大小。所以報錯。

解決方法:

通過給gridcontrol新增繫結乙個過度用的資料來源—>variablebindingsource

在這裡插入描述

當gridcontrol控制項新增行且填值後,variablebindingsource會同步擴大記憶體空間。再通過variablebindingsource與資料庫作為繫結,將新增行新增到資料庫。即可規避「物件必須實現 iconvertible 」的錯誤提示

在寫**的過程中,遇到了乙個很奇怪的現象,後經過大佬的分析討論教學,解決了問題和找到原因。現在分享給跟我一樣初學者的新手們一起看看。老鳥沒見過的也歡迎一起學習進步。

建立乙個datatable()

dt =

newdatatable()

; dt.columns.

add(

"訂單日期"

,typeof

(datetime));

dt.columns.

add(

"客戶訂單號");

dt.columns.

add(

"訂單號");

dt.columns.

add(

"工單號");

dt.columns.

add(

"品號");

dt.columns.

add(

"品名");

dt.columns.

add(

"工單數量"

,typeof

(int))

; dt.rows.

add(convert.

todatetime

("2020/9/19"),

"4503285934"

,"2301-2009190003"

,"3501-2019250006"

,"204010003"

,"測試品號-aaa"

,9999);

//add裡面引數的資料順序要和dt中的列的順序對應

通過tab使用foreach(模板為var)

foreach

(var item in dt.columns)

item"."不出columnname:如圖

當我需要取出列名新增到後續的dev gridcontrol控制項中時。發現怎麼都無法直接「.」出別人都有的columnname.只能直接新增item(後續使用報錯,通過可能的錯誤排除找到這裡)

解決原因:

分析:var 是 vs 自帶的用於自動解析值型別的乙個通用變數,個人認為模擬 object 。但是對於foreach迴圈中,條件是乙個多型別資料的集合list,是分析不出來具體的型別,所以傳入迴圈內 var 還是以 list 形式存在。導致 item 怎麼都不會出現應該有的columnname,只會有基本的幾個方法(tostring…)

解決:上**

foreach

(datacolumn item in dt.columns)

從0開始學Python Python的基本語法

一 資料型別 1.字串 string 不可變 1 合併字串 合併字串 2 常用內建函式 python3 字串 菜鳥教程 www.runoob.com 3 格式化字串 格式化字串 使用變數格式化字串分 2.數值 number 不可變 1 整型 int 2 浮點型 float 3.元祖 tuple 不可...

從0開始的FreeRTOS(3)

這次我們開始介紹freertos的任務管理機制。在第一講中,我們知道了作業系統是在乙個在記憶體中自動對任務進行排程的硬體和使用者的 中間層 這一講中我們來介紹作業系統所作用的物件 任務。當然,在講述作業系統原理時我們不會使用任務這種說法,一般被使用的術語是 程序。我們先簡單介紹一下程序的概念,對於程...

從0開始的FreeRTOS(1)

這個系列的教程的主要目的是帶大家了解實時系統 real time operating system 的基本概念,熟悉freertos的api使用方法,具備基本的使用rtos進行工程開發的能力 系列計畫分幾期錄完,內容分別為 本教程的開發環境 我們這節課主要解決兩個問題 什麼是rtos?為什麼要用rt...