IOS实现简易进销存管理

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值