您好:
於C# + MSSQL 中
主PORC
|-- 判斷是否要做 次PROC ( 裡面有seldct 語法)
|--主PROC 最後有select 語法
因為會有次PORC 的執行可能性,所以會有多個datareader
故會去判斷這一個datareader是否為需要的
有需要,在填入datatable中
但是以下程式碼,若沒加break 跳出,就會遇到
使用DataReader 會當讀取器關閉時嘗試呼叫 Read 無效。
請問,這有何種方式可以解決 table使用reader的問題
while (dr.HasRows)
{
Console.WriteLine("\t{0}", dr.GetName(0));
if (dr.GetName(0) == "doz") {
table1.Load(dr);
break;
}
dr.NextResult();
}
主、次PORC分別用兩個DataReader來作就好了....
while (dr1.HasRows)
{
Console.WriteLine("\t{0}", dr1.GetName(0));
if (dr1.GetName(0) == "doz") {
table1.Load(dr2);
break;
}
dr1.NextResult();
}
您好:
謝謝
所以 會需要用break; ?
這要看您程式的邏輯呀,我並不清楚您的需求...
改成用兩個DataReader只是要解決用了table1.Load(dr)指令後,再執行dr.NextResult()會因為DataReader被關閉而出錯的問題