3 回答

TA貢獻1842條經(jīng)驗 獲得超21個贊
public void cmd(string sql)
要么把這個方法改為有返回值的,比如成功返回0,失敗返回1
cmd1 = jj.cmd(strsql1);
要么上邊這句,調(diào)用的時候直接jj.cmd(strsql1);就可以了

TA貢獻1780條經(jīng)驗 獲得超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;
}
}
}
}
調(diào)用時執(zhí)行類名.ExecuteSql(sqlstring)

TA貢獻1878條經(jīng)驗 獲得超4個贊
你這里是你定義的方法的返回值出了問題。
你的方法定義時,無返回值,可是你在調(diào)用的時候卻利用該方法給一個參數(shù)賦了值,所以就出現(xiàn)了問題
首先要改的就是你自己定義的cmd()方法,由于你在調(diào)用的時候,是將其賦給了一個SqlCommand類型的值,所以方法的返回值類型void 應該改為SqlCommand,即:
public SqlCommand cmd(String sql){}
這樣改了只是把你的語法錯誤改掉了,但是解決不了問題:
你在類的方法中已經(jīng)定義了COMMAND對象,并且執(zhí)行了語句,所以在調(diào)用的時候只需要傳一個SQL語句的參數(shù)就可以了,不用再創(chuàng)建COMMAND對象。
我是這樣想的:
你可以不用改方法,也可以把方法的返回值類型改為int,這個數(shù)是ExcuteNonQuery()方法的返回值( 受影響的行數(shù)),主要用來看看有沒有成功執(zhí)行。
在調(diào)用的時候,把創(chuàng)建COMMAND對象的那句話去掉,直接調(diào)用方法,這樣就OK了。
添加回答
舉報