二个简单的问题,比较困扰,请各位大侠指教,谢谢!!!!

mrdingsheng 2006-09-18 02:04:32
1 我现在有一个字符串:"01 EL500-2-2A",这个字符串中的01和后面的EL500-2-2A之间是2个空格,请问如何把EL500-2-2A取出来呀,最好有源码,谢谢!
2 用insert into mytable(字段1,字段2) values ('1','2')这个SQL语句的时候,请问values后面的值能不能用变量代替?如果不能,请问改如何实现,因为我要插入的值是不固定的.谢谢!!!!
...全文
103 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoshi0 2006-09-18
  • 打赏
  • 举报
回复
AnsiString strCmd = "insert into 产品管理表(类型编号, 出厂系列号, 类型名称) values(\'" + TypeID + "\', \'" + ESerialNumber->Text + "\', \'" + TypeName + "\')";

ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(strCmd);
ADOQuery1->SQL->Execute();//好像是这么执行,用Open也行,不过要返回记录集
mrdingsheng 2006-09-18
  • 打赏
  • 举报
回复
谢谢各位了,问题解决了
mrdingsheng 2006-09-18
  • 打赏
  • 举报
回复
ADOQuery1->SQL->Add("insert into 产品管理表(类型编号,出厂系列号,类型名称) values (TypeID,ESerialNumber->Text,TypeName)");
我的sql语句事这样的,其中typeid,typename都是string类型的,运行时会报错,有甚么办法解决吗?谢谢!!!报错的提示时:此处只可以使用常量,变量或表达式,不能使用列名.
jiangshx 2006-09-18
  • 打赏
  • 举报
回复
先这样:
AnsiString strCmd = "insert into mytable(Field1, Field2) values(\'" + val1 + "\', \'" + val2 + "\')";
看看字符串strCmd的值,是不是多了少了什么符号?
BlueDeepOcean 2006-09-18
  • 打赏
  • 举报
回复
哎,有些东西——char*类型,我没写完整。这样,你只需要讲你的String类型变为char*即可。怎么变,参考楼上的吧。
mrdingsheng 2006-09-18
  • 打赏
  • 举报
回复
蓝色深海你好,我在insert语句中用的是变量,这个变量我限定的是string类型的,它会报错,我按照你说的,改位char型的,还是不行啊,请问是怎么回事啊,谢谢!!!
xiaoshi0 2006-09-18
  • 打赏
  • 举报
回复
AnsiString val1 = "1";
AnsiString val2 = "2";
AnsiString strCmd = "insert into mytable(Field1, Field2) values(\'" + val1 + "\', \'" + val2 + "\')";
LuoGD 2006-09-18
  • 打赏
  • 举报
回复
insert into mytable(字段1,字段2) values ('" + Edit1->Text + "','" + Edit2->Text + "')"
xiaoshi0 2006-09-18
  • 打赏
  • 举报
回复
1题如果用楼上的方法,可以这样写:

AnsiString as = "01 EL500-2-2A";
as = as.SubString(as.Pos(" ")+2, as.Length());
BlueDeepOcean 2006-09-18
  • 打赏
  • 举报
回复
2.
应该可以的。利用char型即可。
xiaoshi0 2006-09-18
  • 打赏
  • 举报
回复
1.

char szOld[20] = "01 EL500-2-2A";
char szNew[20] = {0};

strcpy(szNew, (strrchr(szOld, " ")+1));
BlueDeepOcean 2006-09-18
  • 打赏
  • 举报
回复
1.
AnsiString as = "01 EL500-2-2A";
as = as.SubString(as.Pos(" ") + 2,as.Length() - (as.Pos(" ") + 2) + 1);

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧