C中用三種形式都有錯。SqlDataReader read

2021-03-28 14:27:58 字數 3033 閱讀 8776

1樓:不識臺北路

using(var myconnection = new sqlconnection())}}

你出錯的原因是

sql***mand.***mandtext = "select users.uno,upwd  from users  where  uno.

='" + this.textbox1.text.

trim() + "'and upwd='" + this.textbox2.text.

trim() + "'";

中的「uno.=」多了一個"."。

如果你只是對程式設計有興趣或者只是應付課程,接下來的話你就不要看了:

你的控制元件名沒有實際意義,如果是十分龐大的程式,你的**不具可讀性。

你在顯示層直接修改資料庫,沒有使用分層思想,**耦合性太高,不利於擴充套件和維護。

你沒有使用sql引數,而是直接拼接sql語句,這樣無法應對sql攻擊,**健壯性太弱。

實現了idespose介面的類要用using語句來宣告,否則會影響程式效能。

你的reader根本沒有定義,怎麼可以使用?

reader.read()雖然返回值是bool型別,但是同時該方法會返回當前遊標所在行的資料至reader,如果你只想知道reader裡面是否有值,請直接使用reader.hasrows

連線字串應該放入配置檔案,否則一旦離開本機將很難部署

總之,你可以對比一下我的修改(手寫,不保證可以正常執行),然後上網查閱一些資料,希望你在c#的學習中順利。

2樓:_慾哭嘸淚

sqlconnection myconnection = new sqlconnection();

myconnection.connectionstring = "server=localhost;integrated security=sspi;database=news*****";

sql***mand sql***mand = new sql***mand();

sql***mand.connection = myconnection;

myconnection.open();

sql***mand.***mandtext = "select users.uno,upwd  from users  where  uno.

=\'" + this.textbox1.text.

trim() + "\'and upwd=\'" + this.textbox2.text.

trim() + "\'";

sql***mand.***mandtype = ***mandtype.text;

if (reader.read())

--目測是這個轉義字元的問題,你可以試試

c#中的sqldatareader有什麼作用?

3樓:儀高義鈔翮

對,就是將查詢出來的結果集儲存到了sqldatareader物件中,這個物件你可以把它想象成一張虛擬表,執行一次dr.read()就會下移一行,裡面每列用dr.getstring()等方法取

4樓:匿名使用者

我想補充的一點是,sqldatareader的用處,其實主要是為了減少記憶體佔用,每次只把一行資料的內容存入記憶體,不讀取的話就基本不佔用記憶體了。但是如果用datatable來讀取,可就不是這個樣子了。

5樓:匿名使用者

它是一個讀取資料庫的指標 從資料庫中表的 上面往下一行一行的讀每讀一內行它裡面就有這個表

容這行的 所有欄位的資料的值! 相當於一個陣列裡面有很多個元素reader["messagetime"] 中括號裡面的就是這一行這個這欄位的名稱

比如這個就是讀出了 messagetime 的值! 欄位名稱要用引號引起來

6樓:匿名使用者

中括號裡面是資料庫中表的列名,引號是語言的格式,sqldatareader提供一種從 sql server 資料庫讀取行的只進流的方式。無法繼承此類。

7樓:匿名使用者

sqldatareader是一行行資料讀出,reader後面是具體讀出某行資料的某個欄位。

c#oledbdatareader thisreader =this***mand.executereader()這是啥意思〉??

8樓:匿名使用者

這條語句的意思是,執行this***mand物件中的sql查詢命令,並返回查詢結果,並將查詢結果儲存到thisreader 物件中,

你可以通過下面**讀取查詢的結果:

while (thisreader.read())thisreader.close();

sqldatareader sqldatareader = sql***mand.executereader();出現異常?

c#中sqldatareader reader=***m.executereader(); 為何"="附近

9樓:匿名使用者

微軟官方的例

子:private static void readorderdata(string connectionstring)

, ",

reader[0], reader[1]));}}finally}}

c#連線到sql,提示: 行 26: sqldatareader rd = cmd.executereader(); 輸入字串的格式不正確.

10樓:匿名使用者

request.querystring["bookid"].tostring();

這個字串裡面包bai

含字du母或特殊字元了zhi可能。因為 【("@bookid",sqldbtype.int).】看起來應該dao是一個數值型的值。回所以在執行語句答時發生錯誤。

11樓:匿名使用者

你資料庫的bookid肯定不是int格式的資料

matlab中用至少三種方法求解二階微分方程x0 2x 0 4x 0 2u t ,u t 是單位階躍函式,初始狀態為

同求!早知道就不選這個坑爹的選修課了 用matlab simulink解決線性微分方程x 0.2x 0.4x 0.2u t u t 某時程函式 先把式子寫對了啊。要不怎麼幫你建立simulink y dsolve d2x 0.2 dx 0.4 x y c2 exp t 41 1 2 10 1 10 ...

液體能量的表現形式有哪三種

流動的時候有動能,在液體下面能感受到壓強,也就是重力勢能,燒開水的時候能很明顯的感覺的內能 熱能 雖然我很聰明,但這麼說真的難到我了 自然界的物質分為幾種狀態存在?如果你告訴我固態 液態 氣態,那請告訴我 火是什麼狀態?光是什麼狀態 火焰是等離子態。火焰在燃燒過程中處於等離子態,在燃燒完成後揮發而遊...

試論有效市場的三種形式,簡述有效市場的型別?誰能告訴我。很急,線上等

效率市場 effective market 能根據資訊不斷迅速地進行調整的市場。根據不同層次資訊有效程度的不同,效率市場可以分成三個不同的型別 弱勢 半強勢和強勢。按照資本市場效率理論,資本市場的有效性是指市場根據新資訊迅速調整 的能力。該理論將資本市場的有效性分為弱勢 半強勢 強勢三種。在弱勢有效...