JackyCheungJC 发表于 2008-5-25 12:17

數據庫鏈接類的返回錯誤

這個是其中的一個函數,但編譯時候會出現錯誤。
錯誤是:
错误        1        “DBtest.DB.SQLExecutNoneQuery(string)”: 并非所有的代码路径都返回值        D:\源程序文件\DBtest\DBtest\DB.cs        15        27        DBtest

其他的函數也是這樣的錯誤。
我用的是VS05+SQL05 ,以前用SQL2000的時候就可以編譯。
請告訴我如何解决。
謝謝!
函數如下:

public static int SQLExecutNoneQuery(string strSQL)
        {
            SqlConnection myConn = new SqlConnection(strConn);
            SqlCommand myCom = new SqlCommand(strSQL, myConn);

            try
            {
                if (myConn.State == ConnectionState.Closed)
                {
                    myConn.Open();               
                }
                return myCom.ExecuteNonQuery();
            }

            catch (SqlException se)
            {
                MessageBox.Show(se.Message, "錯誤信息:", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            finally
            {
                if (myConn.State == ConnectionState.Open)
                {
                    myConn.Close();
                }
            }            
        }

[[it] 本帖最后由 JackyCheungJC 于 2008-5-25 22:27 编辑 [/it]]

yyltt 发表于 2008-5-25 17:17

那你就把函数改为void,仅执行myCom.ExecuteNonQuery(),看能不能通过

JackyCheungJC 发表于 2008-5-25 19:56

只是這個沒有返回值的函數能編譯通過.其他的DataSet類型,object類型的編譯還是出現那個  并非所有的代码路径都返回值

howardwyy 发表于 2008-5-25 20:18

catch 里面放一个return 0;
表示失败

JackyCheungJC 发表于 2008-5-31 23:19

還是不可以。
DataSet Object DataReader類型的都編譯通不過。

返囬錯誤一樣。。

JackyCheungJC 发表于 2008-6-28 02:46

唉,就沒有人會3層結構的??、
太奇怪啦。
我寫的這個類對于3層結構的來說很簡單啊。

zsyutian 发表于 2008-6-28 08:36

public static int SQLExecutNoneQuery(string strSQL)
        {
            SqlConnection myConn = new SqlConnection(strConn);
            SqlCommand myCom = new SqlCommand(strSQL, myConn);

            try
            {
                if (myConn.State == ConnectionState.Closed)
                {
                    myConn.Open();               
                }
                return myCom.ExecuteNonQuery();
            }

            catch (SqlException se)
            {
                MessageBox.Show(se.Message, "錯誤信息:", MessageBoxButtons.OK, MessageBoxIcon.Error);
return 0;
            }

        
        }
你后成都没有返回值,不知道你以前是编译成功的.

页: [1]

编程论坛