我有一個方法(帶WebMethod
屬性),I定義一個事務,在我的方法,在我的交易我請2個存儲過程,第一個是GetAllBook
:爲什麼我的交易不起作用?
select *
from Book_TBL
where IsActive = 'True'
和第二個是updateBook
:
update Book_TBL
set IsActive = 'False'
where IsActive = 'True'
和我的方法:
public struct BOOK
{
public string BOOK_NAME;
public string BOOK_DESC;
}
[WebMethod]
public static List<BOOK> GetMyBooks()
{
using (TransactionScope _transactionScope = new TransactionScope(TransactionScopeOption.Required))
{
string _connString = "Data Source=.;Initial Catalog=BookStore;Integrated Security=True";
SqlConnection _conn = new SqlConnection(_connString);
_conn.Open();
SqlCommand _com = new SqlCommand();
_com.CommandType = System.Data.CommandType.StoredProcedure;
_com.CommandText = "GetAllBook";
_com.Connection = _conn;
SqlDataAdapter bookdataAdapter = new SqlDataAdapter(_com);
DataSet bookDS = new DataSet();
bookdataAdapter.Fill(bookDS, "Book_TBL");
List<BOOK> bookList = new List<BOOK>();
_conn.Close();
BOOK book;
foreach (DataRow dr in bookDS.Tables["Book_TBL"].Rows)
{
book = new BOOK();
book.BOOK_NAME = dr["book_name"].ToString();
book.BOOK_DESC = dr["book_desc"].ToString();
bookList.Add(book);
}
SqlCommand updateCommand= new SqlCommand();
_conn.Open();
updateCommand.CommandText = "updateBook";
updateCommand.CommandType = System.Data.CommandType.StoredProcedure;
updateCommand.Connection = _conn;
updateCommand.ExecuteNonQuery();
_conn.Close();
return bookList;
}
}
當我運行該項目myMethod
給我的書籍列表有IsActive = True
但它沒有更新我的表!問題是什麼?
您是否看到任何錯誤? – Mutant