怎样将字符串添加到access表的对应字段中(vc数据库小问题) 兄弟现有如下几个字符串:s1=1001, s2=江青, s3=女, s4=生活秘书。现在access的字段名称分别是:code, name, gender, position 。怎样才能将上述的字符串插入上述表的对应字段中啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个很简单啊:用SQL便可insert into person (code, name, gender, position) values ('1001', '江青', '女', '生活秘书'); 谁要你这个啊, 我是想要怎样将s1=1001, s2=江青, s3=女, s4=生活秘书。s1,s2,s3,s4是4个变量,能获得新的值如:s1=1002, s2=努尔哈赤,s3=男,s4=摄政王。...............这样利用循环,s1,s2,s3,s4变 量 中 的 值便可源源不断的插入的记录中。请问1st楼的仁兄,我该怎么做啊?最好把代码写 得详细一点,我好慢慢研究,研究。 char uSQLString[500]="insert into unode(u_father,u_ID,u_age,text,u_sex) values (";// u = itoa(temp1,u,10); strcat(uSQLString,u); strcat(uSQLString,","); CString m_ID = pDoc->m_userInfo[i].ID; int len1 = m_ID.GetLength(); char d[16]; strcpy(d,m_ID.GetBuffer(len1)); m_ID.ReleaseBuffer(-1); strcat(uSQLString,d); strcat(uSQLString,",");你参考一下,希望对你有用。 char uSQLString[500]="insert into unode(u_father,u_ID,u_age,text,u_sex) values (";// 这句就是先写插入的前半句,u = itoa(temp1,u,10);strcat(uSQLString,u); strcat(uSQLString,","); 这个不就是u_father对应的值了么,就是把要插入的值一个一个strcat上去,strcat就是追加字符嘛,最后再补上“和)就可以了,没有全贴上来而已。这样明白了么? s1,s2...的值从哪来的?cstring str;str.format("insert into table (code, name, gender, position) values ( '%s','%s','%s','%s',s1,s2,s3,s4); 可以不? 不可以,你的SQL语句的values后面必须是现成的值,和前边insert后面变量对应。这样:char str[500] = "insert into table(code, name, gender, position) values (";char s1 = "1001";strcat(str, s1);strcat(str,",");其他同理;最后加上:strcat(str,")");这样就OK了。 期待ing!!!!!!!!!!!!!!! 出现错误,你怎么定义s1是字符后将其赋值为1001啊,另外7楼的/* "insert into table(code, name, gender, position) values ("; */ 部分是甚么语句啊 我用的可以啊,对于那个s1我是说个意思而已,形式就是这样char str[500] = "insert into table(code, name, gender, position) values (";char s1 = "1001";strcat(str, s1);strcat(str,","); 你可以在外面先定义s1等于什么什么,然后回来把它换成char型的就行了。比如说:int s1 = 1001;char s2 = "江青";char s3 = "女";然后再char str[500] = "insert into table(code, name, gender) values (";随便一个变量,假如是uitoa(s1, u, 4);strcat(str," '"); //刚才忘了,加两个单引号strcat(str, u);strcat(str," '");strcat(str,",");strcat(str," '");strcat(str, s2);strcat(str," '");strcat(str,",");strcat(str," '");strcat(str, s3);strcat(str," '");strcat(str,")"; //这里是补上values哪里的半拉括号 这样应该就可以了,你在试试。^_^至于那个骂我的dding_inshili,他会死全家的,不要管它了。 int temp; this->m_connection->Execute("set names 'gb2312'",&RecordsAffected,adCmdText); this->m_connection->Execute("drop table if exists `test`.`dnode`",&RecordsAffected,adCmdText); this->m_connection->Execute("create table `test`.`dnode`(d_father int(10) unsigned not null,text char(16))",&RecordsAffected,adCmdText);//,PRIMARY Key(`d_father`) this->m_connection->Execute("insert into dnode(d_father,text) values (0,'0')",&RecordsAffected,adCmdText); if(pDoc->d_index>0) { char* t=new char[16]; for(i=0;i<pDoc->d_index;i++) { char dSQLString[500]="insert into dnode(d_father,text) values ("; for(int j = 0;j<pDoc->k_index;j++) { if(pDoc->m_departInfo[i].father == j) { temp = j; t = itoa(temp,t,10); strcat(dSQLString,t); strcat(dSQLString,","); CString m_strIP=pDoc->m_departInfo[i].d_Text; int len=m_strIP.GetLength(); char b[16]; strcpy(b,m_strIP.GetBuffer(len)); m_strIP.ReleaseBuffer(-1); strcat(dSQLString,"'"); strcat(dSQLString,b); strcat(dSQLString,"'"); strcat(dSQLString,")"); this->m_connection->Execute(dSQLString,&RecordsAffected,adCmdText); } } } delete [] t; }这是我当初程序中用来存库的,可以执行的。这个办法比较笨是真的,但绝对能用。 cstring str; str.format("insert into table (code, name, gender, position) values ('%s', '%s', '%s','%s')",s1,s2,s3,s4); LZ可以试试 chuachua66 :你全家死光,绝种 shakaqrj和shansq大哥的应该可以,我现在开始不讨论了,楼上几位大哥,你们慢慢讨论,我专门日死dding_inshili这个垃圾。 你们俩搞什么啊?...哦,刚刚发现,6楼我漏了)"就是shansq写的那个cstring str; str.format("insert into table (code, name, gender, position) values ( '%s ', '%s ', '%s ', '%s ')",s1,s2,s3,s4); VFW 下用什么视频编解码器好 如何设置模态对话框的位置 编译器问题,请高手指教 在ATL复合控件中取某控件句柄的问题。 关于切换视图的问题 atoi 和_itoa的用法到底是怎么样的啊? 各位高手,怎样写串口通讯程序呀。。。。 有没有这种List控件 第一次编绎链接时出错,再链接就没问题了,是怎么回事 请指示,如何立刻获得网络是否断开 在ActiveX控件中绘制真彩色BMP图片怎么变成黑白的了 做透明按钮时,只有第一次显示正常,而后的显示都不是透明了,为什么?
insert into person (code, name, gender, position)
values ('1001', '江青', '女', '生活秘书');
s1=1001, s2=江青, s3=女, s4=生活秘书。s1,s2,s3,s4是4个变量,能获得新的值如:
s1=1002, s2=努尔哈赤,s3=男,s4=摄政王。
...............这样利用循环,s1,s2,s3,s4变 量 中 的 值便可源源不断的插入的记录中。
请问1st楼的仁兄,我该怎么做啊?最好把代码写 得详细一点,我好慢慢研究,研究。
u = itoa(temp1,u,10);
strcat(uSQLString,u); strcat(uSQLString,",");
CString m_ID = pDoc->m_userInfo[i].ID;
int len1 = m_ID.GetLength();
char d[16];
strcpy(d,m_ID.GetBuffer(len1));
m_ID.ReleaseBuffer(-1);
strcat(uSQLString,d);
strcat(uSQLString,",");
你参考一下,希望对你有用。
这句就是先写插入的前半句,
u = itoa(temp1,u,10);
strcat(uSQLString,u); strcat(uSQLString,",");
这个不就是u_father对应的值了么,
就是把要插入的值一个一个strcat上去,strcat就是追加字符嘛,最后再补上“和)就可以了,没有全贴上来而已。这样明白了么?
cstring str;
str.format("insert into table (code, name, gender, position)
values ( '%s','%s','%s','%s',s1,s2,s3,s4);
可以不?
这样:
char str[500] = "insert into table(code, name, gender, position) values (";
char s1 = "1001";
strcat(str, s1);
strcat(str,",");
其他同理;
最后加上:
strcat(str,")");
这样就OK了。
形式就是这样
char str[500] = "insert into table(code, name, gender, position) values (";
char s1 = "1001";
strcat(str, s1);
strcat(str,",");
你可以在外面先定义s1等于什么什么,然后回来把它换成char型的就行了。比如说:
int s1 = 1001;
char s2 = "江青";
char s3 = "女";
然后再char str[500] = "insert into table(code, name, gender) values (";
随便一个变量,假如是u
itoa(s1, u, 4);
strcat(str," '"); //刚才忘了,加两个单引号
strcat(str, u);
strcat(str," '");
strcat(str,",");strcat(str," '");
strcat(str, s2);
strcat(str," '");
strcat(str,",");strcat(str," '");
strcat(str, s3);
strcat(str," '");
strcat(str,")"; //这里是补上values哪里的半拉括号 这样应该就可以了,你在试试。^_^
至于那个骂我的dding_inshili,他会死全家的,不要管它了。
this->m_connection->Execute("set names 'gb2312'",&RecordsAffected,adCmdText);
this->m_connection->Execute("drop table if exists `test`.`dnode`",&RecordsAffected,adCmdText);
this->m_connection->Execute("create table `test`.`dnode`(d_father int(10) unsigned not null,text char(16))",&RecordsAffected,adCmdText);//,PRIMARY Key(`d_father`)
this->m_connection->Execute("insert into dnode(d_father,text) values (0,'0')",&RecordsAffected,adCmdText);
if(pDoc->d_index>0)
{
char* t=new char[16];
for(i=0;i<pDoc->d_index;i++)
{
char dSQLString[500]="insert into dnode(d_father,text) values (";
for(int j = 0;j<pDoc->k_index;j++)
{
if(pDoc->m_departInfo[i].father == j)
{
temp = j;
t = itoa(temp,t,10);
strcat(dSQLString,t); strcat(dSQLString,","); CString m_strIP=pDoc->m_departInfo[i].d_Text;
int len=m_strIP.GetLength();
char b[16];
strcpy(b,m_strIP.GetBuffer(len));
m_strIP.ReleaseBuffer(-1);
strcat(dSQLString,"'");
strcat(dSQLString,b);
strcat(dSQLString,"'");
strcat(dSQLString,")");
this->m_connection->Execute(dSQLString,&RecordsAffected,adCmdText);
}
}
}
delete [] t;
}这是我当初程序中用来存库的,可以执行的。这个办法比较笨是真的,但绝对能用。
str.format("insert into table (code, name, gender, position)
values ('%s', '%s', '%s','%s')",s1,s2,s3,s4);
LZ可以试试
我专门日死dding_inshili这个垃圾。
...哦,刚刚发现,6楼我漏了)"
就是shansq写的那个
cstring str;
str.format("insert into table (code, name, gender, position)
values ( '%s ', '%s ', '%s ', '%s ')",s1,s2,s3,s4);