我尝试使用c。来更新mysql中的表 我使用了以下代码
private void initialize() {
programButtonAnimation=new AnimationTimer(){
private long lastUpdate = 0 ;
@Override
public void handle(long now) {
if (now - lastUpdate >= 28_000_000) {
showClockAnimation();
lastUpdate = now ;
}
}
};
programButtonAnimation.start();
}
private void showClockAnimation(){
String imageName = "%s_"+"%05d"+".%s";
String picturePath="t093760/diploma/view/styles/images/pink_frames/"+String.format( imageName,"pink" ,frameCount,"png");
programButton.setStyle("-fx-background-image:url('"+picturePath+"')");
frameCount++;
if(frameCount>=120){
programButtonAnimation.stop();
frameCount=0;
}
}
但它没有用。
主要问题是内部比较'如果'声明。
当我尝试打印if(row[6] == 0) // 6th column contains an integer
{
mysql_query(con,"UPDATE users SET email_active = 1 WHERE user_id = 1");
}
row[6]
它说
警告:格式'%d'期望类型' int'的参数,但参数2的类型为' char *' [-Wformat =] |
因此,当我尝试printf("%d", row[6]);
时,它会起作用。
所以我尝试了%s
,但它显示了类似于上述警告的警告。
我再次尝试
if(strcmp(row[6],'0')==0)
它没有打印任何东西!
那么,我哪里出错?
还有一种方法可以在if(row[6] == 0)
{
printf("Works!");
}
中使用变量而不是1吗?
答案 0 :(得分:1)
使用
strcat()
个参数化语句。
首先我初始化了一个字符串char update[100]="UPDATE users SET email_active = 1 WHERE user_id = ";
然后是用户的输入
char temp[20];
gets(temp);
strcat(update , temp);
mysql_query(con,update);
它有效!
答案 1 :(得分:0)
您的“行”是一个字符串数组。你想比较其中一个,使用“strcmp”。 if(strcmp(row [6],“0”)== 0)