mfc-MFC添加数据insert语句出错

问题描述

MFC添加数据insert语句出错

代码中写了一条插入语句,如下:

strSql.Format(_T("INSERT INTO Bill_Info
(Bill_ID,Buyer_Name,Buyer_Book,Buyer_State,Price)
values('%s','%s','s','%d','%f')"),
b.getbid(),b.getbname(),b.getbbook(),b.getbstate(),b.getprice());
调用 pRst->Update();时报错,加了断点发现
语句显示的是:

  • strSql L"INSERT INTO Bill_Info (Bill_ID,Buyer_Name,Buyer_Book,Buyer_State,Price) values('?x18','癮污摩猠牴湩?潰楳楴湯?????????????','s','-858993460','-92559631349317831000000000000000000000000000000000000000000000.000000'... ATL::CStringT > >
    请问,什么原因,怎么解决

解决方案

 values('%s','%s','%s','%d','%f') //少个%

解决方案二:

strSql.Format(_T("INSERT INTO Bill_Info
(Bill_ID,Buyer_Name,Buyer_Book,Buyer_State,Price)
values('%s','%s','s','%d','%f')", 这里参数呢),

解决方案三:

把这几个参数用逗号隔开写在后面

解决方案四:

你的参数字符编码是什么。乱码应该是编码不对

解决方案五:

发现了,是少了个%,谢各位啦

解决方案六:

SQL语言使用insert语句向数据库表格中插入或添加新的数据行

时间: 2024-12-31 20:14:28

mfc-MFC添加数据insert语句出错的相关文章

数据-sql语句出错,求大神帮忙解答

问题描述 sql语句出错,求大神帮忙解答 CREATE PROCEDURE test() BEGIN DECLARE fid int; DECLARE days int DEFAULT 1; DECLARE s int default 0; DECLARE company_code VARCHAR; DECLARE cursor_company CURSOR FOR SELECT company FROM test WHERE status = 3; DECLARE CONTINUE HANDL

MySQL中Update与Insert语句用法详解

MySQL 更新数据 Update 语句 update 语句的定义: UPDATE语法可以用新值更新原有表行中的各列.让我们先来看一下update语句标准的定义,放在[]内的都是可以省略的:  代码如下 复制代码 UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] s

access-数据库中添加数据出错,提示Insert into语句错误

问题描述 数据库中添加数据出错,提示Insert into语句错误 String sql="insert into T_EMPLOYER(NAME,SEX,NUMBER) VALUES(?,?,?)"; PreparedStatement ps=conn.prepareStatement(sql); //ps.setString(1,id); ps.setString(1, name); ps.setString(2, sex); ps.setString(3,number); 上面写

MFC读txt数据时,数据出错

问题描述 MFC读txt数据时,数据出错 我用mfc写了一个程序用于读取数据进行一元线性回归计算,读进来的数据总会莫名其妙的出问题,比如数据是12.34,读进来就会变成12.33999999999999999或者12.340000000000001,求各路大神帮忙看看是什么回事 解决方案 你有考虑过精度问题吗? 解决方案二: 浮点数在计算机中无法精确存储,只是无限接近这个数而已比如你存储12.34也只是存储一个无限接近12.34的值(比如12.339999....)所以我们比较浮点数的时候会设置

编程-用insert语句从matlab导出数据到access数据库为什么出错呢

问题描述 用insert语句从matlab导出数据到access数据库为什么出错呢 数据连接是对的 就是想用insert插入两个数字到表里的第一行里面(图1) 对应Iset和t的值 但是一直显示错误 如上 请教一下到底是哪里错了呢...没怎么学过数据库 不太清楚它说的主键不能为空是什么意思 也不清楚insert语句哪里出错了...是在网上看的教程. 是因为我自己建的那个表的格式不对么? 谢谢了..! 解决方案 加where ID = "",就可以把指定的记录更新呀 解决方案二: 就你的

新人求解java连接mysql,向数据库添加数据,出错

问题描述 新人求解java连接mysql,向数据库添加数据,出错 package test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; public class test{ public static void main(String[] args)throws

mfc 类-MFC中添加一个类,在另一个类中使用时出现错误,好像没有识别

问题描述 MFC中添加一个类,在另一个类中使用时出现错误,好像没有识别 我新建的类类名是OLSRGram 在另一个类中我构造这个类的对象OLSRGram olsr 调用 olsr.olsr_messagetype等等 出现错误:left of '.olsr_data' must have class/struct/union type F:SnifferCapPackView.cpp(150) : error C2228: left of '.olsr_datalen' must have cl

oracle10-关于oracle在一条语句向多个表添加数据

问题描述 关于oracle在一条语句向多个表添加数据 我这里有t1,t2,t3三个表,当根据t3和t2中的某些条件做出的判断成立时,向t1和t2中添加数据,能不能这么写 insert all into t1(t1.column1,t1.column2) values(A,B) into t2(t2.column1,t2.column2) select t3.column1, t3.column2 from t3 where not exists (select 1 from t2,t3 wher

sql server根据表中数据生成insert语句

几个收藏的根据数据库生成Insert语句的存储过程[修正版] -- ======================================================--根据表中数据生成insert语句的存储过程--建立存储过程,执行spGenInsertSQL 表名--感谢playyuer----感谢szyicol-- ======================================================CREATE proc [dbo].[spGenInser