订单的发货和作废()
【代码说明】这里我们自己创建了一个实体ST_OrderEntity代码第行说明这是一个struct读者其实也可以定义为class通过前面几章的学习读者可能已经知道在APSNET 中还专门提供了工具用来生成这个实体类即从数据库文件直接映射到类文件中实体的属性通过get{}和set{}实现代码第~行是局部变量只在本结构内有效代码第~行是公共变量定义了结构的属性通过public关键字可以让外部类访问这些属性
ST_OrderEntity类的GetOrderByID()方法的代码如程序所示
程序 ST_OrderEntitycs
//取得某个订单的信息
public ST_BookBizST_OrderEntity GetOrderByID(int st_orderid)
{
//要执行的SQL语句
string sqlString = select * from ST_Order where
st_orderid=+st_orderid;
//填充数据集
DataSet ds = SqlHelperExecuteDataset(ST_UtilityST_ConnString
CommandTypeText sqlString)
//生成ST_OrderEntity类的实例
ST_BookBizST_OrderEntity st_order = new ST_OrderEntity()
st_orderST_OrderID = st_orderid;
st_orderST_UserID =
intParse(dsTables[]Rows[][ST_UserID]ToString())
st_orderST_CreateTime =
DateTimeParse(dsTables[]Rows[][ST_CreateTime]ToString())
st_orderST_Ship = dsTables[]Rows[][ST_Ship]ToString()
st_orderST_Payment =
dsTables[]Rows[][ST_Payment]ToString()
st_orderST_Sum =
floatParse(dsTables[]Rows[][ST_Sum]ToString())
st_orderST_Desciption =
dsTables[]Rows[][ST_Desciption]ToString()
st_orderST_Consignee =
dsTables[]Rows[][ST_Consignee]ToString()
st_orderST_ConsingeeEmail =
dsTables[]Rows[][ST_ConsingeeEmail]ToString()
st_orderST_ConsingeePhone =
dsTables[]Rows[][ST_ConsingeePhone]ToString()
st_orderST_ConsingeeAddress =
dsTables[]Rows[][ST_ConsingeeAddress]ToString()
st_orderST_ConsingeePostcode =
dsTables[]Rows[][ST_ConsingeePostcode]ToString()
st_orderST_ConsingeeGender =
dsTables[]Rows[][ST_ConsingeeGender]ToString()
st_orderST_Status =
shortParse(dsTables[]Rows[][ST_Status]ToString())
return st_order;
}
【代码说明】代码第行生成一个ST_OrderEntity结构体的实例并利用从数据库中读取的数据填充其各个字段代码第行中的ST_BookBiz是一个项目和本程序存在于同一个项目下要使用它必须先生成其dll文件然后在当前Web程序中添加对此dll文件的引用
说明DateTimeParse(字符串)表示将字符串转换为日期型数据
管理员单击发货按钮时将触发Button_Click事件在该事件中调用ST_Order类的UpdateOrder()方法来设置订单表中订单的发送状态该事件的代码如程序所示
程序 ST_OrderDetailaspxcs
protected void Button_Click(object sender EventArgs e)
{
//设置为发货
st_orderUpdateOrder(st_orderid )
ResponseWrite(<script language=
javascript>alert(处理成功)
</script>)
}
【代码说明】代码第行调用UpdateOrder()方法实现订单状态的改变这里必须包括第个参数用来指定要修改的是哪条订单的状态代码第~行是输出一个成功的提示信息
ST_Order类的UpdateOrder()方法的代码如程序所示
程序 ST_Ordercs
public void UpdateOrder(int st_orderid int status)
{
//要执行的更新语句
string sqlString = @update ST_Order
set ST_Status= + status +
where st_orderid= + st_orderid;
object obj = SqlHelperExecuteScalar
(ST_UtilityST_ConnString
CommandTypeText sqlString)
}
【代码说明】代码第行的SQL语句前加了一个@起到转义的作用如果在被更新的字段中有\r\t等字符都作为正常字符串处理这也是保护数据库的一种方式代码第行执行更新语句并返回一个值
管理员单击作废按钮时将触发Button_Click事件在该事件中同样调用ST_Order类的UpdateOrder()方法来设置订单表中订单的发送状态该事件的代码如程序所示
程序 ST_OrderDetailaspxcs
protected void Button_Click(object sender EventArgs e)
{
//设置为作废
st_orderUpdateOrder(st_orderid )
ResponseWrite(<script language=javascript>alert(处理成功)
</script>)
}
…
【代码说明】代码第行调用UpdateOrder()方法完成状态更改第二个参数就是更改后的状态第一个参数用来指定被更新的订单号
返回目录ASPNET项目开发指南
编辑推荐
ASPNET MVC 框架揭秘
ASPNET开发宝典
ASP NET开发培训视频教程