亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以下內容是關于C# 數據庫command類的試用問題

以下內容是關于C# 數據庫command類的試用問題

白衣染霜花 2021-12-02 11:07:28
新手問題:有類sql public class sql{public void cmd(string sql){string strconn = "……省略……";SqlConnection conn = new SqlConnection(strconn);conn.Open();SqlCommand cmd = new SqlCommand(sql, conn);cmd.ExecuteNonQuery();conn.Close();}}調用類時:sql jj = new sql();string strsql1 = "…省略… ";SqlCommand cmd1 = new SqlCommand(strsql1, conn);cmd1 = jj.cmd(strsql1);提示 void 無法轉化為System.Data.SqlClient.SqlCommand怎么改呢?
查看完整描述

3 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

public void cmd(string sql)
要么把這個方法改為有返回值的,比如成功返回0,失敗返回1
cmd1 = jj.cmd(strsql1);
要么上邊這句,調用的時候直接jj.cmd(strsql1);就可以了

查看完整回答
反對 回復 2021-12-06
?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}

調用時執行類名.ExecuteSql(sqlstring)



查看完整回答
反對 回復 2021-12-06
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

你這里是你定義的方法的返回值出了問題。
你的方法定義時,無返回值,可是你在調用的時候卻利用該方法給一個參數賦了值,所以就出現了問題
首先要改的就是你自己定義的cmd()方法,由于你在調用的時候,是將其賦給了一個SqlCommand類型的值,所以方法的返回值類型void 應該改為SqlCommand,即:
public SqlCommand cmd(String sql){}
這樣改了只是把你的語法錯誤改掉了,但是解決不了問題:
你在類的方法中已經定義了COMMAND對象,并且執行了語句,所以在調用的時候只需要傳一個SQL語句的參數就可以了,不用再創建COMMAND對象。
我是這樣想的:
你可以不用改方法,也可以把方法的返回值類型改為int,這個數是ExcuteNonQuery()方法的返回值( 受影響的行數),主要用來看看有沒有成功執行。
在調用的時候,把創建COMMAND對象的那句話去掉,直接調用方法,這樣就OK了。


查看完整回答
反對 回復 2021-12-06
  • 3 回答
  • 0 關注
  • 316 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號