Iphone 警告:正在传递参数1中的";sqlite3“绑定文本”;“来自不兼容的指针类型”;我该怎么办?

Iphone 警告:正在传递参数1中的";sqlite3“绑定文本”;“来自不兼容的指针类型”;我该怎么办?,iphone,sqlite,Iphone,Sqlite,我是iphone开发的新手。 我创建了一个将数据插入数据库的函数。代码编译成功。但说到陈述 sqlite3_bind_text(sqlStatement,1,[s UTF8String],-1,SQLITE_TRANSIENT) 它只执行挂起操作,并在警告中对所有红色语句显示“从不兼容的指针类型传递”sqlite3_bind_text“的参数1” 我正在使用相同的代码从数据库中获取数据,并在其他viewController上使用它 下面是代码,非常简单。 请帮帮我 -(void) SaveDat

我是iphone开发的新手。 我创建了一个将数据插入数据库的函数。代码编译成功。但说到陈述 sqlite3_bind_text(sqlStatement,1,[s UTF8String],-1,SQLITE_TRANSIENT)

它只执行挂起操作,并在警告中对所有红色语句显示“从不兼容的指针类型传递”sqlite3_bind_text“的参数1”

我正在使用相同的代码从数据库中获取数据,并在其他viewController上使用它

下面是代码,非常简单。 请帮帮我

-(void) SaveData: (NSString *)FirstName: (NSString *)LastName: (NSString *)State: (NSString *)Street: (NSString *)PostCode

{

databaseName = @"Zen.sqlite";

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDire ctory, NSUserDomainMask,YES);

NSString *documentsDir=[documentPaths objectAtIndex:0];

databasePath=[documentsDir stringByAppendingPathComponent:databaseName];

sqlite3 *database;


if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK)
{ 
const char *sqlStatement = "insert into customers (FirstName, LastName, State, Street, PostCode) values(?, ?, ?, ?, ?)";

sqlite3_stmt *compiledStatement;

sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL);

sqlite3_bind_text(sqlStatement, 1, [FirstName UTF8String], -1, SQLITE_TRANSIENT);

sqlite3_bind_text(sqlStatement,2,[LastName UTF8String],-1,SQLITE_TRANSIENT);

sqlite3_bind_text(sqlStatement,3,[State UTF8String],-1,SQLITE_TRANSIENT);

sqlite3_bind_text(sqlStatement,4,[Street UTF8String],-1,SQLITE_TRANSIENT);

sqlite3_bind_text(sqlStatement,5,[PostCode UTF8String],-1,SQLITE_TRANSIENT);

sqlite3_step(sqlStatement); 

sqlite3_finalize(compiledStatement);


}

sqlite3_close(database);

} 

您必须在第一个参数中传递编译语句(
compiledStatement
),而不是文本sql语句(
sqlStatement

谢谢,伙计。现在工作……干杯。