-2

大家好

我正在生成一个我拥有的应用程序4 fields ( product id, product name, product price, product description)

现在我希望在我保存数据时自动生成产品 id ,即当我运行我的应用程序时,产品 id 的文本字段应该自动生成,当我点击保存按钮时,这个 id 应该加一并且 id应保存最后的数据。

所以请帮帮我。

4

3 回答 3

0

试试这个方法……

//fetch the MAX id
[self databaseOpen];
NSString *cc=[NSString stringWithFormat:@"Select MAX(ProductID) from Table"];
NSMutableArray *temp=[[NSMutableArray alloc]init];
temp=[[database executeQuery:cc]mutableCopy];
[database close];

说明我正在从数据库表中获取最大 product_id。

int Product_id;
if (temp.count!=0 && ([[temp objectAtIndex:0]valueForKey:@"MAX(ProductID)"] !=[NSNull null]))
    Product_id=[[[temp objectAtIndex:0]valueForKey:@"MAX(ProductID)"]intValue]+1;
else
    Product_id=1;
//fetch the MAX id

说明如果表中没有记录则Product_id =1,否则加1;

  Txt_productID.text=[NSString stringwithFormat:@"%d",Product_id];

说明 在文本字段中打印Product_id

[self databaseOpen];
NSString *q=[NSString stringWithFormat:@"Insert into Table (NAme,Price,Description) values ('%@','%@','%@')",txt_name.text,txt_price.text,txt_des.text];
    [database executeNonQuery:q];
    [database close];

说明 将新记录保存在数据库中。

于 2013-10-17T11:51:48.950 回答
0

你必须看看这个教程

http://upadhyayajayiphone.blogspot.in/2012/11/insert-record-in-sqlite-table-get.html

http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_4_iPhone_Application

它包含您的所有操作。在您获取数据SELECT MAX(product_id) from TABLE_NAME时,用于获取最后一个数据。

于 2013-10-17T12:01:19.613 回答
0

如果您想通过 NSUserDefaults 实现,请使用以下代码

// get total count   
int count=[[NSUserDefaults standardUserDefaults]integerForKey:@"TotalIdCount"];


// on save button click increment count by one and stored it
count=count+1;
[[NSUserDefaults standardUserDefaults ] setInteger:count forKey:@"TotalIdCount"];
[[NSUserDefaults standardUserDefaults] synchronize];
于 2013-10-17T12:05:50.430 回答