C 執行儲存過程

2022-02-27 02:15:45 字數 3163 閱讀 4776

閒話不多說,直接上**:

///

/// sql通用類

///

public class sqlhelper

}sqldataadapter sda = new sqldataadapter(sqlcmd);

sda.fill(responseds);}}

}catch (exception e)

】\n 異常原因:【】\n 異常詳細資訊:【】!";

}return responseds;

}當儲存過程執行時間太長時,儲存過程的預設超時時間是30s,需要設定儲存過程執行超時時間

///

/// 呼叫儲存過程  (自定義超時時間)

///

/// 連線字串

/// 儲存過程名稱

/// 執行儲存過程請求超時時間(單位:s)

/// 儲存過程執行狀態

/// 執行儲存過程狀態描述

/// 儲存過程輸入引數

///

public static dataset sql_getstoredprocedurefunction(string connstr, string storedprocedurename, int commandouttime, out bool responsebool, out string responsemsg, params parameterkeyvaluesentity paramsobject)

}sqldataadapter sda = new sqldataadapter(sqlcmd);

sda.fill(responseds);}}

}catch (exception e)

】\n 異常原因:【】\n 異常詳細資訊:【】!";

}return responseds;

}執行sql語句,進行增刪改操作

///

/// 增刪改資料

///

/// 資料庫連線字串

/// 執行的sql語句

/// 輸入引數

///

public static int sqlexecutedata(string sqlconnstr, string sql, params parameterkeyvaluesentity paramsobject)

}count = cmd.executenonquery(); //執行語句

conn.close(); //關閉連線

cmd = null;

conn.dispose(); //釋放物件

}return count;

}當資料庫中表關係及其複雜,並且資料量特別多的時候(一般情況下用快取解決問題),執行sql查詢語句相當耗時,需要設定sql語句請求超時時間。

執行sql查詢語句,設定sql查詢語句超時時間

///

/// 執行sql指令碼

///

/// 連線字串

/// sql指令碼

/// 執行狀態

/// 狀態描述

/// 執行sql語句請求超時時間(單位:s)

/// 輸入引數

///

public static dataset sql_getstored(string connstr, string sqlscript, out bool responsebool, out string responsemsg, int commandouttime = 500, params parameterkeyvaluesentity paramsobject)

}sqldataadapter sda = new sqldataadapter(sqlcmd);

sda.fill(responseds);}}

}catch (exception e)

】\n 異常原因:【】\n 異常詳細資訊:【】!";

}return responseds;

}入參實體建類

///

/// 輸入引數實體   引數名稱(key)/引數值(value)

///

public class parameterkeyvaluesentity

///

/// 引數值

///

public object value

}執行儲存過程示例:

public result 方法名(string 入參1,string 入參2, string 入參3)

,new parameterkeyvaluesentity(),

new parameterkeyvaluesentity(),         

};//使用sql通用類的方法執行儲存過程

dataset ds = sqlhelper.sql_getstoredprocedurefunction(connstr, procname, out responsebool, out responsemsg, parameterkeyvalue);

if (!responsebool)

";exceptionloghelper.writelog($"業務異常:儲存過程名:---異常資訊:");//專案中的異常日誌

return result;

}datatable dt = ds.tables[0];             

if (dt != null && dt.rows != null && dt.rows.count > 0)

#endregion

result.data = loopbackdata;

string json = jsonconvert.serializeobject(result.data);

result = resulthelper.returnresultsuccess(json, typeof(jobject));

return result;

}catch (exception e)

");return resulthelper.returnresulterror($"異常資訊:");}}

the end.......................

C 執行儲存過程

1 建立儲存過程 其中返回乙個值,統計表中符合條件資料數量 create procedure sp test name varchar 10 查詢條件 count int output 返回值 asbegin select count count from test where name name ...

C 如何執行儲存過程

以oracle為例,其它資料庫僅改變資料庫物件就可以。下面是帶引數的,不帶引數的話paramete為null即可。引數對應 public static int uploadstartclosesoftinfo string args return sdprovider.runprocedure 儲存...

C 如何執行儲存過程

以oracle為例,其它資料庫僅改變資料庫物件就可以。下面是帶引數的,不帶引數的話paramete為null即可。引數對應 public static int uploadstartclosesoftinfo string args oracleparameter parameter1 new or...