——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
上面代码使用与Application_Load()相同的语法来访问dataset这样就可以简单地将数据转换为正确的类型并返回
AddEvent()方法稍微有点复杂从概念上讲需要做下面的事情
●接受来自客户的事件数据
●使用那些数据创建SQL INSERT语句
●连接数据库并且执行SQL语句
●如果添加成功就需要刷新Application[ds]中的数据
●把成功或失败的通知返回给客户(如果有必要允许客户刷新他们的DataSet)
从现在开始把所有的字段作为字符串来接受
[WebMethod]
public int AddEvent(String eventName String eventRoom
String eventAttendees String eventDate)
{
}
下面声明访问数据库连接数据库以及执行查询时需要的对象完成这些工作所使用的代码与PCSWebApp中的代码相似(此外这里也需要连接字符串但是并没有给出)
[WebMethod]
public int AddEvent(String eventName String eventRoom
String eventAttendees String eventDate)
{
SystemDataOleDbOleDbConnection oleDbConnection;
SystemDataOleDbOleDbDataAdapter daEvents;
DataSet ds;
oleDbConnection = new SystemDataOleDbOleDbConnection();
oleDbConnectionConnectionString = @ ;
String oleDbCommand = INSERT INTO Events (Name Room AttendeeList + EventDate) VALUES ( + eventName + +eventRoom + + eventAttendees + +eventDate + );
SystemDataOleDbOleDbCommand insertCommand =
new SystemDataOleDbOleDbCommand(oleDbCommand
oleDbConnection);
oleDbConnectionOpen();
int queryResult = insertCommandExecuteNonQuery();
}
如以前一样使用queryResult保存受查询影响的行数如果queryResult的结果是则说明查询成功然后就可以对数据库进行新的查询以便刷新DataSet中的Events表在执行更新时必须把应用程序数据加锁确保在更新过程中其他线程不可以访问Application[ds]使用Application对象的Lock()和Unlock()方法可以实现对数据的加锁和解锁
[WebMethod]
public int AddEvent(String eventName String eventRoom
String eventAttendees String eventDate)
{
int queryResult = insertCommandExecuteNonQuery();
if (queryResult == )
{
daEvents = new SystemDataOleDbOleDbDataAdapter(
SELECT * FROM Events oleDbConnection);
[] [] []