1.简介:
实现用户登录,商品资料管理,入库、出库管理,库库查询
2.汇集知识:sqlite3数据库的读写(使用第三方类库PlausibleDatabase.framework),沙盒目录的访问,多视图间动画跳转,弹出视图的应用(可拖动);UITableView(实现多列数据展示),UIDatePicker,UIToolBar等控件的应用,委托的使用。
3.涉及到的视图:主视图,登录视图,商品管理视图,入库管理视图,出库管理视图,库存管理视图
4.各视图的介绍及实现主要代码
一、主视图:乘载视图,包含一个UIToolBar(xib画界面,用来切换视图)和一个子视图(用来显示其它子视图,是使用代码实现)
主要代码:
1)ViewController.h:
#import<UIKit/UIKit.h>
#import"LoginViewController.h"
@interface ViewController :UIViewController<LoginDelegate>{
NSString *loginname;
}
@property (nonatomic,retain)UIViewController *viewcontrol;
@property (nonatomic,retain)LoginViewController *vcLogin;
@property (nonatomic,retain)NSString *loginname;
-(IBAction)LoginView:(id)sender;
-(IBAction)switchViews:(id)sender;
@end
2) ViewController.m:
#import"ViewController.h"
#import"LoginViewController.h"
#import"StockViewController.h"
#import"EntreeViewController.h"
#import"ProductViewController.h"
#import"DefaultViewController.h"
#import"OutViewController.h"
#import<PlausibleDatabase/PlausibleDatabase.h>
#define kFilename @"data.sqlite3"
@implementation ViewController
@synthesize viewcontrol;
@synthesize vcLogin;
@synthesize loginname;
//返回一个绝对路径用来存放我们需要储存的文件。
-(NSString *)dataFilePath {
NSArray *paths =NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSLog(@"%@",documentsDirectory);
return [documentsDirectorystringByAppendingPathComponent:kFilename];
}
//登录后跳转到商品管理
-(void)NewviewLoad:(NSString *)Name{
[self.viewcontrol.viewremoveFromSuperview];
ProductViewController * productcoltroller=[[ProductViewControlleralloc]initWithNibName:@"ProductView"bundle:nil];
self.viewcontrol=productcoltroller;
[productcoltrollerrelease];
//viewcontrol.view.frame=CGRectMake(0, 0, 768, 1024);
UIView *switchView = self.viewcontrol.view;
CGRect switchViewFrame = switchView.frame;
switchViewFrame.origin.y += [UIApplicationsharedApplication].statusBarFrame.size.height;
//switchViewFrame.size.height -= 80;
switchView.frame = switchViewFrame;
[UIViewbeginAnimations:@"View Flip"context:nil];
[UIViewsetAnimationDuration:1.25];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromRightforView:self.viewcache:YES];
[self.viewinsertSubview:self.viewcontrol.viewatIndex:0];
[UIViewcommitAnimations];
}
//当没有登录或重新登录时,调用此方法
-(void)viewLoginLoad{
[self.viewcontrol.viewremoveFromSuperview];
LoginViewController *viewtmp =[[LoginViewControlleralloc]initWithNibName:@"LoginView"bundle:nil];
self.vcLogin=viewtmp;
self.viewcontrol=viewtmp;
[viewtmp release];
vcLogin.delegate=self;
//vcLogin.exitflag=1;
self.viewcontrol.view.frame =CGRectMake(200,1004,self.viewcontrol.view.frame.size.width,self.viewcontrol.view.frame.size.height);
[self.viewaddSubview:self.viewcontrol.view];
[UIViewanimateWithDuration:1.3animations:^{
self.viewcontrol.view.frame =CGRectMake(200,704 -self.viewcontrol.view.frame.size.height,self.viewcontrol.view.frame.size.width,self.viewcontrol.view.frame.size.height);
}];
}
//点击导航,切换视图
-(IBAction)switchViews:(id)sender
{
//判断是否登录
if([self.loginnameisEqualToString:@""]){
[selfviewLoginLoad];
return;
}
UIBarButtonItem *UIBBI=(UIBarButtonItem *) sender;
[self.viewcontrol.viewremoveFromSuperview];
if(UIBBI.tag ==0)
{
NSLog(@"print %@",UIBBI.title);
LoginViewController *logincontroller = [[LoginViewControlleralloc]initWithNibName:@"LoginView"bundle:nil];
self.viewcontrol=logincontroller;
[logincontrollerrelease];
}
else if(UIBBI.tag==1){
NSLog(@"print %@",UIBBI.title);
ProductViewController *productcontroller=[[ProductViewControlleralloc]initWithNibName:@"ProductView"bundle:nil];
self.viewcontrol=productcontroller;
[productcontrollerrelease];
}
else if(UIBBI.tag==2){
NSLog(@"print %@",UIBBI.title);
EntreeViewController *entreecontroller = [[EntreeViewControlleralloc]initWithNibName:@"EntreeView"bundle:nil];
self.viewcontrol=entreecontroller;
[entreecontrollerrelease];
}
else if(UIBBI.tag==3){
NSLog(@"print %@",UIBBI.title);
StockViewController *stockController = [[StockViewControlleralloc]initWithNibName:@"StockView"bundle:nil];
self.viewcontrol=stockController;
//[stockController release];
}else
{
NSLog(@"print %@",UIBBI.title);
OutViewController *testController = [[OutViewControlleralloc]initWithNibName:@"OutView"bundle:nil];
self.viewcontrol=testController;
[testControllerrelease];
}
// NSLog(@"%d",viewController.retainCount);
UIView *switchView = self.viewcontrol.view;
CGRect switchViewFrame = switchView.frame;
switchViewFrame.origin.y += [UIApplicationsharedApplication].statusBarFrame.size.height;
//switchViewFrame.size.height -= 80;
switchView.frame = switchViewFrame;
[UIViewbeginAnimations:@"View Flip"context:nil];
[UIViewsetAnimationDuration:1.25];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromRightforView:self.viewcache:YES];
[self.viewinsertSubview:switchViewatIndex:0];
[UIViewcommitAnimations];
}
-(IBAction)LoginView:(id)sender{
[selfviewLoginLoad];
}
//初始加载登录视图
- (void)viewDidLoad
{
[superviewDidLoad];
[selfdatabaseInit];
LoginViewController *viewtmp =[[LoginViewControlleralloc]initWithNibName:@"LoginView"bundle:nil];
viewtmp.view.frame=CGRectMake(200,400, viewtmp.view.frame.size.width, viewtmp.view.frame.size.height);
self.vcLogin=viewtmp;
self.viewcontrol=viewtmp;
[viewtmp release];
vcLogin.delegate=self;
//vcLogin.exitflag=1;
self.loginname=@"";
[self.viewinsertSubview:vcLogin.viewatIndex:0];
}
//登录成功后托管到主视图
-(void) gomain:(char *)charflag{
self.vcLogin =(LoginViewController *)self.viewcontrol;
if(self.vcLogin)
{
self.loginname=[self.vcLogin.text1text];
[self.vcLogin.viewremoveFromSuperview];
self.vcLogin=nil;
}
[selfNewviewLoad:@"1"];
}
//初始化数据库
-(void)databaseInit{
PLSqliteDatabase *database=[PLSqliteDatabasedatabaseWithPath:[selfdataFilePath]];
if(database.open){
//创建用户表
NSString *createSQL=[[NSStringalloc]initWithFormat:@"Create table IF not Exists Login(ID Integer PRIMARY KEY,LoginName Text,Password Text)"];
[database executeUpdate:createSQL];
//创建商品表
createSQL =@"Create table If not Exists Product(ProductID Text PRIMARY KEY,ProductName Text,Specs Text,Unit Text,StockCount INTEGER default(0),Price Double default(0))";
[database executeUpdate:createSQL];
//创建入/出库表
createSQL =@"Create table If not Exists Storage(StorageID TEXT PRIMARY KEY,category integer default(0),ProductID Text,Qty INTEGER,CreateDate Text)";
[database executeUpdate:createSQL];
//创建用户
NSString *insertSQL =[[NSStringalloc]initWithFormat:@"insert or Replace into Login(ID, LoginName,Password) Values('%@','%@','%@')",@"1",@"admin",@"admin"];
[database executeUpdate:insertSQL];
[createSQL release];
[insertSQL release];
[createSQL release];
[database close];
}
}
二、登录视图:
1).LoginViewController.h
#import<UIKit/UIKit.h>
//代理托管代码,需在主视图中实现gomain:方法
@protocol LoginDelegate <NSObject>
-(void) gomain:(char *)charflag;
@end
@interface LoginViewController :UIViewController
@property (nonatomic,assign)id<LoginDelegate> delegate;//代理对象
@property (nonatomic,retain)IBOutletUITextField *text1;//用户名
@property (nonatomic,retain)IBOutletUITextField *text2;//密码
//登录按钮调用的方法
-(IBAction)Login:(id)sender;
@end
2)LoginViewController.m:
#import"LoginViewController.h"
#import<PlausibleDatabase/PlausibleDatabase.h>
#define kFilename @"data.sqlite3"
@implementation LoginViewController
@synthesize text1,text2;
@synthesize delegate;
-(void) dealloc
{
[text1release];
[superdealloc];
}
-(NSString *)dataFilePath {
NSArray *paths =NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectorystringByAppendingPathComponent:kFilename];
}
-(IBAction)Login:(id)sender{
PLSqliteDatabase *database=[PLSqliteDatabasedatabaseWithPath:[selfdataFilePath]];
if ([database open]) {
NSString *query=[[NSStringalloc]initWithFormat:@"Select * from Login where LoginName='%@'",text1.text];
id<PLResultSet> rs=[database executeQuery:query];
int count=0;
while ([rs next]) {
if ([text2.textisEqualToString:[rsobjectForColumn:@"Password"]]) {
NSLog(@"登录成功!");
if([self.delegaterespondsToSelector:@selector(gomain:)])//判断调用视图是否存在此方法
{
[self.delegategomain:"1"];
}
}
else{
NSLog(@"密码不正确,登录失败!");
text2.text=@"";
}
count++;
}
if (count==0)
{
NSLog(@"用户名不正确!");
UIAlertView *uialert=[[UIAlertViewalloc]initWithTitle:@"title"message:@"用户名不正确!" delegate:nilcancelButtonTitle:@"conform"otherButtonTitles:nil,nil];
[uialertshow];
[uialertrelease];
}
[query release];
[rs close];
}
[database close];
}
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view.
[text1becomeFirstResponder];//让text1获得焦点
}
三、商品视图
1)ProductViewController.h
#import<UIKit/UIKit.h>
@classPublicViewController;
@classProductModel;
@interface ProductViewController :UIViewController{
ProductModel *productModel;
NSMutableArray *listData;
BOOL nibsRegistered;//标记TableView是否重新加载
}
@property (nonatomic,retain)IBOutlet UITextField *text1;
@property (nonatomic,retain)IBOutlet UITextField *text2;
@property (nonatomic,retain)IBOutlet UITextField *text3;
@property (nonatomic,retain)IBOutlet UITextField *text4;
@property (nonatomic,retain)IBOutlet UITextField *text5;
@property (nonatomic,retain)IBOutlet UITableView *table;
@property (nonatomic,assign)BOOL nibsRegistered;
-(IBAction)Save:(id)sender;
-(IBAction)Cancel:(id)sender;
-(IBAction)Add:(id)sender;
-(IBAction)GetProduct:(id)sender;
@end
2) ProductViewController.m#import"ProductViewController.h"
#import<PlausibleDatabase/PlausibleDatabase.h>
#import<sqlite3.h>
#import"PublicViewController.h"
#import"ProductModel.h"
@implementation ProductViewController
@synthesize text1,text2,text3,text4,text5;
@synthesize table;
@synthesize nibsRegistered;
//创建并取得ProductModel
-(ProductModel *)getproductModel
{
if (!productModel){
productModel=[[ProductModelalloc]init];
}
return productModel;
}
//赋值给控件
-(IBAction)GetProduct:(id)sender{
productModel=[[self getproductModel]GetOne:[(UITextField *)sendertext]];
text2.text=productModel.ProductName;
text3.text=productModel.Specs;
text4.text=productModel.Unit;
text5.text=[NSStringstringWithFormat:@"%.2f",productModel.Price];
}
//保存事件
-(IBAction)Save:(id)sender{
NSLog(@"Save");
productModel.ProductID=text1.text;
productModel.ProductName=text2.text;
productModel.Specs=text3.text;
productModel.Unit=text4.text;
productModel.Price=[text5.textdoubleValue];
[[selfgetproductModel]initModel:productModel];
if([[selfgetproductModel]Add])//调用model中的方法
{
NSLog(@"保存成功!");
[selfrefresh];
}
return;
}
//取消事件
-(IBAction)Cancel:(id)sender{
text1.text=@"";
text2.text=@"";
text3.text=@"";
text4.text=@"";
text5.text=@"";
}
//新增事件
-(IBAction)Add:(id)sender{
text1.text=@"";
text2.text=@"";
text3.text=@"";
text4.text=@"";
text5.text=@"";
[selfgotorecord:@""];
}
//跳到指定商品
-(NSInteger)gotorecord:(NSString *)ID{
for (int ii=0; ii<listData.count; ii++) {
NSArray *array=[listData objectAtIndex:ii];
if ([[array objectAtIndex:0]isEqualToString: ID]) {
text1.text=[array objectAtIndex:0];
text2.text=[array objectAtIndex:1];
text3.text=[array objectAtIndex:2];
text4.text=[array objectAtIndex:3];
text5.text=[array objectAtIndex:4];
[text1setEnabled:NO];
return ii;
}
}
[text1setEnabled:YES];
[text1becomeFirstResponder];
if (listData.count>0) {
NSIndexPath *ip=[NSIndexPathindexPathForRow:-1inSection:0];
[self.tableselectRowAtIndexPath:ip animated:YESscrollPosition:UITableViewScrollPositionBottom];
}
return 0;
}
//重新加载视图及数据
-(void)refresh{
self.nibsRegistered=NO;
[listDataremoveAllObjects];
NSMutableArray *marray=[[NSMutableArrayalloc]init];
//listData=array;
PublicViewController *publiccontroller=[[PublicViewControlleralloc] init];
PLSqliteDatabase *database=[PLSqliteDatabasedatabaseWithPath:[publiccontroller dataFilePath]];
if ([database open]){
id<PLResultSet> rs=[databaseexecuteQuery:@"select * from Product order by ProductID"];
while ([rs next]) {
text1.text=[rs stringForColumn:@"ProductID"];
text2.text=[rs stringForColumn:@"ProductName"];
text3.text=[rs stringForColumn:@"Specs"];
text4.text=[rs stringForColumn:@"Unit"];
text5.text= [[NSStringalloc]initWithFormat:@"%.2f",[rs doubleForColumn:@"Price"]];
NSArray *array=[[NSArray alloc]initWithObjects:text1.text,text2.text,text3.text,text4.text,text5.text,nil];
[marray addObject:array];
}
listData=[marray retain];
[marray release];
[rs close];
}
[database close];
[publiccontrollerrelease];
[tablereloadData];//重新加载
if(listData.count>0)
{
NSIndexPath *ip=[NSIndexPathindexPathForRow:[selfgotorecord:text1.text]inSection:0];
[tableselectRowAtIndexPath:ip animated:YESscrollPosition:UITableViewScrollPositionBottom];
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [listData count];
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 38.0;
}
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 44.0;
}
//表头数据装载
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView* customView = [[[UIViewalloc] initWithFrame:CGRectMake(10.0,0.0, 600.0, 44.0)]autorelease];
customView.backgroundColor=[UIColorgrayColor];
UILabel *headerLabel1=[[UILabel alloc]initWithFrame:CGRectMake(10,5, 100, 30)];
headerLabel1.backgroundColor = [UIColorclearColor];
headerLabel1.opaque =NO;
headerLabel1.textColor = [UIColorlightGrayColor];
headerLabel1.highlightedTextColor = [UIColorwhiteColor];
headerLabel1.font = [UIFontboldSystemFontOfSize:18];
headerLabel1.text=@"编号";
UILabel *headerLabel2=[[UILabel alloc]initWithFrame:CGRectMake(110,5, 100, 30)];
headerLabel2.backgroundColor = [UIColorclearColor];
headerLabel2.opaque =NO;
headerLabel2.textColor = [UIColorlightGrayColor];
headerLabel2.highlightedTextColor = [UIColorwhiteColor];
headerLabel2.font = [UIFontboldSystemFontOfSize:18];
headerLabel2.text=@"名称";
UILabel *headerLabel3=[[UILabel alloc]initWithFrame:CGRectMake(210,5, 100, 30)];
headerLabel3.backgroundColor = [UIColorclearColor];
headerLabel3.opaque =NO;
headerLabel3.textColor = [UIColorlightGrayColor];
headerLabel3.highlightedTextColor = [UIColorwhiteColor];
headerLabel3.font = [UIFontboldSystemFontOfSize:18];
headerLabel3.text=@"规格";
UILabel *headerLabel4=[[UILabel alloc]initWithFrame:CGRectMake(310,5, 100, 30)];
headerLabel4.backgroundColor = [UIColorclearColor];
headerLabel4.opaque =NO;
headerLabel4.textColor = [UIColorlightGrayColor];
headerLabel4.highlightedTextColor = [UIColorwhiteColor];
headerLabel4.font = [UIFontboldSystemFontOfSize:18];
headerLabel4.text=@"单位";
UILabel *headerLabel5=[[UILabel alloc]initWithFrame:CGRectMake(410,5, 100, 30)];
headerLabel5.backgroundColor = [UIColorclearColor];
headerLabel5.opaque =NO;
headerLabel5.textColor = [UIColorlightGrayColor];
headerLabel5.highlightedTextColor = [UIColorwhiteColor];
headerLabel5.font = [UIFontboldSystemFontOfSize:18];
headerLabel5.text=@"单价";
[customView addSubview:headerLabel1];
[customView addSubview:headerLabel2];
[customView addSubview:headerLabel3];
[customView addSubview:headerLabel4];
[customView addSubview:headerLabel5];
[headerLabel1 release];
[headerLabel2 release];
[headerLabel3 release];
[headerLabel4 release];
[headerLabel5 release];
return customView;
}
//点击选择表格某列事件
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSUInteger row=[indexPath row];
NSArray *array=[listData objectAtIndex:row];
NSLog(@"label1:%@;label2:%@",[arrayobjectAtIndex:0],[arrayobjectAtIndex:1]);
[selfgotorecord:[array objectAtIndex:0]];
}
//加载数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!self.nibsRegistered)
{
if(cell!=nil)
{
cell=nil;
}
self.nibsRegistered=YES;
}
if(cell ==nil){
cell=[[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifier]autorelease];
}
NSUInteger row=[indexPath row];
NSArray *array=[listData objectAtIndex:row];
UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(10,0, 100, 30)];
label1.text=[arrayobjectAtIndex:0];
UILabel *label2=[[UILabel alloc]initWithFrame:CGRectMake(110,0, 100, 30)];
label2.text=[arrayobjectAtIndex:1];
UILabel *label3=[[UILabel alloc]initWithFrame:CGRectMake(210,0, 100, 30)];
label3.text=[arrayobjectAtIndex:2];
UILabel *label4=[[UILabel alloc]initWithFrame:CGRectMake(310,0, 100, 30)];
label4.text=[arrayobjectAtIndex:3];
UILabel *label5=[[UILabel alloc]initWithFrame:CGRectMake(410,0, 100, 30)];
label5.text=[arrayobjectAtIndex:4];
[cell addSubview:label1];
[cell addSubview:label2];
[cell addSubview:label3];
[cell addSubview:label4];
[cell addSubview:label5];
[label1 release];
[label2 release];
[label3 release];
[label4 release];
[label5 release];
//cell.textLabel.text=[array objectAtIndex:0];
return cell;
}
四、入库管理
1)EntreeViewController.h
#import <UIKit/UIKit.h>
#import "DateViewController.h"
#import "HZAreaPickerViewController.h"
@interface EntreeViewController : UIViewController<DateDelegate,HZAreaPickerDelegate,UITableViewDelegate,UITableViewDataSource>
{
int StockCount;
DateViewController *dateselect;
HZAreaPickerViewController *AreaSelect;
int OldQty;
NSMutableArray *listData;
BOOL nibsRegistered;
}
//@property (nonatomic,retain) DateViewController *dateController;
@property (nonatomic,retain) IBOutlet UITextField *text0;
@property (nonatomic,retain) IBOutlet UITextField *text1;
@property (nonatomic,retain) IBOutlet UITextField *text2;
@property (nonatomic,retain) IBOutlet UITextField *text3;
@property (nonatomic,retain) IBOutlet UITextField *text4;
@property (nonatomic,retain) IBOutlet UITextField *text5;
@property (nonatomic,retain) IBOutlet UITextField *text6;
@property (nonatomic,retain) IBOutlet UITableView *table;
@property (nonatomic,assign) id<UITableViewDataSource> datasource;
//@property (nonatomic,retain) HZAreaPickerViewController *hzareaPciker;
-(IBAction)Save:(id)sender;
-(IBAction)Cancel:(id)sender;
-(IBAction)FindProduct:(id)sender;
-(IBAction)SelectDate:(id)sender;
-(IBAction)SelectArea :(id)sender;
-(IBAction)New:(id)sender;
-(IBAction)FindStorage:(id)sender;
@end
2)EntreeViewController.m
#import "EntreeViewController.h"
#import <PlausibleDatabase/PlausibleDatabase.h>
#import "PublicViewController.h"
#import "DateViewController.h"
#import "HZAreaPickerViewController.h"
#import "StockViewController.h"
//数据增加、修改保存事件(要考虑库存是否足)
-(IBAction)Save:(id)sender{
NSLog(@"Save");
PublicViewController *publiccontroller=[[PublicViewController alloc]init];
PLSqliteDatabase *database=[PLSqliteDatabase databaseWithPath:[publiccontroller dataFilePath]];
if ([database open]) {
NSString *query=[[NSString alloc]initWithFormat:@"select * from Product where ProductID='%@'",text1.text];
id<PLResultSet> rs=[database executeQuery:query];
int count=0;
while ([rs next]) {
StockCount = [rs intForColumn:@"StockCount"];
count++;
}
[query release];
[rs close];
if (count==0){
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Title" message:@"商品不存在!" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
[alert release];
return ;
}
if (StockCount>[text5.text integerValue]-OldQty)
{
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Title" message:@"商品库存不足!" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
[alert release];
return;
}
NSString *createSql=[[NSString alloc]initWithFormat:@"Insert or replace into Storage(StorageID,ProductID,Qty,CreateDate) Values('%@','%@','%@','%@')",text0.text,text1.text,text5.text,text6.text];
if([database executeUpdate:createSql])
{
StockCount += [text5.text intValue]-OldQty;
NSString *updatesql=[[NSString alloc]initWithFormat:@"update product set StockCount='%d' where ProductID='%@'", StockCount,text1.text];
if ([database executeUpdate:updatesql]) {
}
[updatesql release];
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Title" message:@"保存成功" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
[alert release];
[self refresh];
//[self Cancel:nil];
}else{
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Title" message:@"保存失败" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
[createSql release];
}
[database close];
[publiccontroller release];
}
-(void) confirm:(int)flag{
if(dateselect)
{
if(flag==-1)
{
[dateselect.view removeFromSuperview];
}
else{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
text6.text=[NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:[dateselect.datePicker date]]];
if (flag==1)
[dateselect.view removeFromSuperview];
}
}
}
//调用日期选择视图
-(IBAction)SelectDate:(id)sender{
if(!dateselect){
dateselect=[[DateViewController alloc]initWithNibNames:@"DateView" bundle:nil date:text6.text];
dateselect.view.frame= CGRectMake(400,470, dateselect.view.frame.size.width, dateselect.view.frame.size.height);
dateselect.delegate=self;
[self.view addSubview:dateselect.view];
}else{
[self.view addSubview:dateselect.view];
}
[sender resignFirstResponder];
}
详细代码见:http://download.csdn.net/detail/wzh1215/4982146