PHP使用pdo执行mysql的插入指令以后不报错,但是数据库里没数据

请问一下有没有大佬遇到过PHP使用pdo执行mysql的插入指令以后不报错,但是数据库里没数据,将执行的sql指令echo出来以后放到mysql里直接执行的话是可以直行的,而且跳过了PHP执行的插入条数(比如之前的Id是1,然后PHP执行了10次,此时mysql里看不到数据,然后我把执行的sql语句放到mysql里直接执行,成功插入数据,且Id为12)
具体代码如下:

    function insertdata($sheet,$columns,$values){
        $columns = implode(",", $columns);
        $values = implode("','", $values);
        try{
            $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sqlstr =  "Insert into $sheet ($columns) values ('$values');";
            echo $sqlstr;
            print_r($this->pdo->exec($sqlstr));
        }catch(PDOException $e){
            if($e->getcode()=="42S22"){
                //没有该字段
                echo "No Column";
            }
        }
    }

调用函数、

$column = array("BlockId","PlantName");
$values = array("12",“123”);
$this->sql->insertdata("house".$this->Id,$column,$values);

执行结果(网页显示)
Insert into house123 (BlockId,PlantName) values ('1','123');1

最后是有一个1的,说明受影响函数为1,但是从数据库里看就是没数据。
将执行结果去掉尾部的1粘贴到mysql运行,可以添加数据,且Id与已有数据不相连,中间会间隔上述php代码执行过的次数

2个回答

我这边把mysql引擎改成MyISAM解决了

也遇到了 最奇葩的是刚插入完就查询可以查到新添加数据但查不到表里旧的部分数据 稍等再查就可以查到所有旧数据 刚插入的数据又不见了 再次添加id也是递增了的

qq_19684951
qq_19684951 你改一下数据库的类型试一下
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用 PDO 向 MySQL 插入多条数据
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); ..
使用 PDO 关联查询 MySQL 数据
使用pdo关联查询mysql数据try { $pdo = new PDO('mysql:host=localhost;dbname=test;', 'root', '123456'); // 0.等值联结 $sql = 'SELECT c.name, o.id, o.customer_id, o.price FROM orders o, customer c WHERE o.c
新手问题 100(分)数据插入~数据库里没数据
<%@LANGUAGE="VBSCRIPT" %>rnrnrnrn rn 无标题文档rnrnrnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrn<%rnrnrndim mac=request("mac")rndim u=request("u")rnsql="insere into Soft(mac,u) values('"&mac&"','"&u&"')"rnset conn=Server.CreateObject("ADODB.Connection")rnDBpath=Server.MapPath("Soft.mdb")rnconn.Open("driver=Microsoft Access Driver (*.mdb); dbq="+DBPath)rnconn.Execute(sql)rnconn.Closernrn%>rnrnrnrn哪里出问题了
mysql插入字符串数据报错
!!!要加单引号“’” String sql=&quot;insert into demodatabase.addresslist values('&quot;+userId+&quot;',&quot;+addressId+&quot;,'&quot;+name+&quot;','&quot;+phone+&quot;','&quot;+bigAddress+&quot;','&quot;+smallAddress+&quot;','&quot;+address+&quot;')&quot;; 其中只
MYSQL插入中文数据报错
今天在测试功能时发现向数据库中插入数据会报以下错误 出现这个错误的原因是数据库的编码格式与插入的数据不符,默认应该是UTF-8。 查看数据库该字段的编码格式     为ASCII,将其改为UTF-8,上传成功。...
把数据插入到mysql(PHP)
我的代码如下:rn";rn echo "";rn echo "" . $row['name'] ."发表于". "";rn echo "" . $row['time'] . "";rn echo "";rn echo "";rn echo "". $row['content'].""; rnrn?> rnrn而且整个页面是空白的,我觉得是没有插入到数据库中又取不到值导致的。 rn错误为:rn(mysql_fetch_array():提供的参数不是一个有效的MySQL的结果资源 )rnrn****************************************rn我觉得原因是:rn我的数据$name,$dat,$mycontent没有插入到数据库中,所以SELECT * FROM content where 'name'='$name' 不是数据库已有的资源。 rn******************************************rn确认了一下,数据库名和表名写的没有问题,列名也没有问题。 rnrn
插入1w条数据不报错,但是插入2w条数据时候报错,为什么呢?
我用jdbc做了个定时更新数据库的功能,当插入1w条数据时候没点问题,当插入2w条数据时候,就报连接超时的错误接着,但是程序还是没有挂掉,不知道是什么原因就解?r [code='java']r package com.jgre.org;r r import java.sql.Connection;r r import java.sql.Date;r import java.sql.DriverManager;r import java.sql.PreparedStatement;r import java.sql.ResultSet;r import java.sql.SQLException;r import java.text.ParseException;r import java.text.SimpleDateFormat;r import java.util.List;r r r public class DB r //设置r static int precount=1000; r r public static Connection getConnect() throws Exceptionr Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();r //?useUnicode=true&characterEncoding=utf8r Connection conn= DriverManager.getConnection("jdbc:sqlserver://146.12.62.208:1433;DatabaseName=LHJGXN", "sa", "flying-321");r return conn; r r r public static void free(ResultSet rs,PreparedStatement ps,Connection conn)r try r if(rs!=null) rs.close();r if(ps!=null) ps.close();r if(conn!=null) conn.close();r catch (SQLException e) r e.printStackTrace();r r r public static void free(PreparedStatement ps,Connection conn)r try r if(ps!=null) ps.close();r if(conn!=null) conn.close();r catch (SQLException e) r e.printStackTrace();r r r //插入数据r public synchronized int insertObject(List list)r list=DB.initArray(list);r Connection conn=null;r PreparedStatement ps=null;r try r conn=DB.getConnect();r //关闭自动提交r conn.setAutoCommit(false);r //清空数据库r ps=conn.prepareStatement("truncate table LHJGXN.dbo.TB_AJXX");r ps.executeUpdate();r r long startTime=System.currentTimeMillis();r String sql="insert into LHJGXN.dbo.TB_AJXX( " +r "AH,NH,ZH,SAXH,AY,LARQ,LAR,CBT,SJCBT, " +r "CBR,AJLB,SPCX,SYCX,SFDA,SFYA,AJSJ,ZZRQ," +r "JARQ, JAFS,GDRQ,DTXP,FDSXDQR,KCSXTS,SXDQR," +r "AJZT,XLABZ)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; r ps=conn.prepareStatement(sql);r for(int i=0;i System.out.println(i);r AJXX a=list.get(i);r if(a.getAH()!=null&&!a.getAH().equals(""))r ps.setString(1, a.getAH());r ps.setInt(2, a.getNH());r ps.setString(3, a.getZH());r ps.setInt(4, a.getSAXH());r ps.setInt(5, a.getAY());r // Date d=new Date();r if(tDate(a.getLARQ())==0)r ps.setDate(6, null); r elser ps.setDate(6, new Date(tDate(a.getLARQ())));r r ps.setString(7, a.getLAR());r ps.setString(8, a.getCBT());r ps.setString(9, a.getSJCBT());r ps.setString(10, a.getCBR());r ps.setString(11, a.getAJLB());r ps.setString(12, a.getSPCX());r ps.setString(13, a.getSYCX());r ps.setString(14, a.getSFDA());r ps.setString(15, a.getSFYA());r ps.setString(16, a.getAJSJ());r if(tDate(a.getZZRQ())==0)r ps.setDate(17, null);r elser ps.setDate(17, new Date(tDate(a.getZZRQ())));r r if(tDate(a.getJARQ())==0)r ps.setDate(18, null);r elser ps.setDate(18, new Date(tDate(a.getJARQ())));r r ps.setString(19, getJAFS(a.getJAFS(),conn));r if(tDate(a.getGDRQ())==0)r ps.setDate(20, null); r elser ps.setDate(20, new Date(tDate(a.getGDRQ())));r r ps.setInt(21, a.getDTXP());r ps.setString(22, a.getFDSXDQR());r ps.setInt(23, a.getKCSXTS());r ps.setString(24, a.getSXDQR());r ps.setString(25, a.getAJZT());r ps.setString(26, a.getXLABZ());r // ps.executeUpdate();r ps.addBatch();r r //每precount次就批量处理一次r if((i+1)%precount==0)r ps.executeBatch();r //因为不确定总数所以没有去分很多批去执行,我整体做了个批量处理 r r r //提交r //ps.executeBatch();r r conn.commit();r ps.clearBatch();r long endTime=System.currentTimeMillis();r System.out.println("插入数据时间为:"+(endTime-startTime)+"ms");r return (int)(endTime-startTime);r catch (Exception e) r try r //如果出现问题就回滚r conn.rollback();r catch (SQLException e1) r e1.printStackTrace();r r e.printStackTrace();r PrintLog.writeLog("error:"+e.toString());r finallyr DB.free(ps, conn);r r return -1; r r //根据案由名称获取案由编号r public static int getAYBH(String AYMC)r Connection conn=null;r PreparedStatement ps=null;r ResultSet rs=null;r try r conn=DB.getConnect();r ps=conn.prepareStatement("select AYBH from LHJGXN.dbo.TB_AY where AYMC=?");r ps.setString(1, AYMC);r rs=ps.executeQuery();r if(rs.next())r return rs.getInt(1);r r catch (Exception e) r e.printStackTrace();r finallyr DB.free(rs, ps, conn);r r return -1;r r //得到字号r public static String getZH(String ZHMC)r Connection conn=null;r PreparedStatement ps=null;r ResultSet rs=null;r try r conn=DB.getConnect();r ps=conn.prepareStatement("select ZH from LHJGXN.dbo.TB_ZHXX where ZHMC=?");r ps.setString(1, ZHMC);r rs=ps.executeQuery();r if(rs.next())r return rs.getString(1);r r catch (Exception e) r e.printStackTrace();r finallyr DB.free(rs, ps, conn);r r return null;r r //跟根据结案名称获取JAFS、AJLB、SPCXr public static int getInfo(String cmd,String MC,Connection conn)r //Connection conn=null;r PreparedStatement ps=null;r ResultSet rs=null;r String sql=null;r if(cmd.equalsIgnoreCase("JAFS"))r sql="select JAFS from LHJGXN.dbo.TB_JAFS where MC=?";r else if(cmd.equalsIgnoreCase("AJLB"))r sql="select AJLB from LHJGXN.dbo.TB_JAFS where MC=?"; r else if(cmd.equalsIgnoreCase("SPCX"))r sql="select SPCX from LHJGXN.dbo.TB_JAFS where MC=?";r r try r conn=DB.getConnect();r ps=conn.prepareStatement(sql);r ps.setString(1, MC);r rs=ps.executeQuery();r if(rs.next())r return rs.getInt(1);r r catch (Exception e) r e.printStackTrace();r finallyr DB.free(rs, ps, conn);r r return -1;r r public static long tDate(String d)r SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");r try r if(d!=null&&!d.equals(""))r java.util.Date date=sdf.parse(d);r return date.getTime();r catch (ParseException e) r e.printStackTrace();r r return 0;r r public static String getJAFS(String jafs,Connection conn)r if(jafs!=null&&!jafs.trim().equals(""))r // Connection conn=null;r PreparedStatement ps=null;r ResultSet rs=null;r try r conn=DB.getConnect();r ps=conn.prepareStatement("select JAFS from LHJGXN.dbo.TB_JAFS where MC=?");r ps.setString(1, jafs);r rs=ps.executeQuery();r if(rs.next())r return rs.getString(1);r r catch (Exception e) r e.printStackTrace();r finallyr DB.free(rs,ps, conn);r r r return null;r r public static List initArray(List d)r while(d!=null&d.size()>0&d.size()%precount!=0)r AJXX a=new AJXX();r d.add(a);r r System.out.println("格式化后的数据长度:"+d.size());r return d;r r r r r r r r 然后报的错误是这样的r r r 求遇到过类似情况的,麻烦告诉下解决办法,急救,谢谢!!
使用 MySQLi 和 PDO 向 MySQL 插入数据
PHP MySQL 插入数据 使用 MySQLi 和 PDO 向 MySQL 插入数据 在创建完数据库和表后,我们可以向表中添加数据。 以下为一些语法规则: PHP 中 SQL 查询语句必须使用引号 在 SQL 查询语句中的字符串值必须加引号 数值的值不需要引号 NULL 值不需要引号 INSERT INTO 语句通常
php,mysql插入报错
[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img]直接在mysql里插入这句就没问题...写到php里就报错说[color=#FF0000]Warning: mysqli_query() expects at least 2 parameters, 1 given in D:\xampp\htdocs\ca\connect.php on line 12[/color]rn错误里的line 12指的是php代码里的$res=mysqli_query($sql);这行[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img]rn[code=php][/code]rn
程序执行没有报错,但是数据没有写进数据库里
rnrnrn rn 无标题文档rnrnrnrn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrnrnrn下面是 add.asp文件rnrnrn<% dim namern dim passrn name=request.from("ID")rn pass=request.from("password")rn savedata()rn response.redirect "index.asp"rn set rs=nothingrn conn.closern set conn=nothingrn sub savedata()rn dim insertcursorrn set insertcursor = server.createobject("adodb.recordset")rn insertcursor.open "select * from addnews",conn,1,3rn insertcursor.addnewrn insertcurrsor("username")=namern insertcurrsor("password")=passrn insertcurrsor.updatern insertcurrsor.closern conn.closern set insertcursor=nothingrnend subrn%>rnrnrnrn数据库连接文件 dbpath.asprn<%rn dim conn rn dim connstrrn on error resume nextrn connstr="DBQ="+server.mappath("add.mdb")+";DefaultDir=;DRIVER=Microsoft Access Driver (*.mdb);"rn set conn=server.createobject("ADODB.CONNECTION")rn conn.open connstr rn%>rn
PHP使用PDO连接MYSQL
$serve = 'mysql:host=数据库地址;dbname=数据库名;charset=utf8'; $username = 数据库帐号; $password = 数据库密码; $PDO = new PDO($serve,$username,$password); $result = $PDO-&gt;query('insert into lyh_article (cid,comid,t...
求助:用delphi向数据库里插入数据 但是数据库里没数据
我用delphi向数据库里插入数据 没有出现任何错误 但数据库里就是什么数据都没有 特别奇怪!!!部分代码如下:rnvarrnxiaobanhao,strcodexiaoban,linban,tongjiyear:string;rnzyflag:integer;rnbeginrn tongjiyear:=edit1.Text ;rn zyflag:=1;rn linban:='001';rn adoqs.Close;rn adoqw.Close; //在找到所有的小班rn ADOQS.SQL.Clear ;rn ADOQS.SQL.Add('execute mytfdarea_XiaobanSelect '+LinBan);rn tryrn ADOQS.Prepared ;rn ADOQS.Open;rn ADOQW.Close;rn while not ADOQS.Eof rn dorn beginrn xiaobanhao:=trim(ADOQS.Fields.fieldbyname('xb').AsString);rn strcodexiaoban:=trim(adoqs.Fields.fieldbyname('id').AsString );rn xiaobanhao:=' '+xiaobanhao; rn ADOQW.SQL.Clear ;rn if trim(ADOQS.Fields.fieldbyname('dl').AsString)='针叶林' then rn beginrn ADOQW.SQL.Add('execute tfdarea_insertrecord '''+strcodexiaoban+''','''+tongjiyear+''','''+xiaobanhao+''','''+ADOQS.Fields.fieldbyname('qs_td').AsString+''','''+ inttostr(zyflag)+''',');rn ADOQW.SQL.Add(floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100');rn endrn elsern beginrn showmessage('没有进行以上选择!');rn end;rn ADOQW.Prepared ;rn ADOQW.ExecSQL ;rn ADOQS.Next;rn end;rn showmessage('成功!');rn except showmessage(adoqw.SQL.Text);rnshowmessageadoqs.SQL.Text); exit;rn end;rn ADOQW.Close;rn ADOQS.Close;rnend;rnrn其中有用到存储过程的 程序的结果就是显示 ‘成功!’ rn大家都来帮帮忙了 很急
php写入mysql时,数据库里乱码
我用php写入mysql时 ,用phpmyadmin 查看,数据里是乱码。用php读出来正常rnrnrn我直接用phpmyadmin写入中文到数据库,数据库正常,php读出来也正常。rnrn请问为什么 只有php写入的时候出问题。而且我把所有的php文件都设成了utf-8,编码形式。数据库也是,utf8_general_ci
C#数据存储,但是数据库里却没有数据
using System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Text;rnusing System.Windows.Forms;rnusing System.Data.SqlClient;rnusing DataBase;rnrnnamespace aarnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rnrn private void Form1_Load(object sender, EventArgs e)rn rn rn rn rn public void InsertData(string name, string value)rn rn SqlParameter[] parModule = new SqlParameter[3];rnrn parModule[0] = new SqlParameter("@Year", SqlDbType.VarChar, 60);rnrn parModule[0].Value = this.cbYear.Text.ToString().Trim();rnrn parModule[1] = new SqlParameter("@Name", SqlDbType.VarChar, 60);rnrn parModule[1].Value = name;rnrn parModule[2] = new SqlParameter("@Value", SqlDbType.VarChar, 50);rnrn parModule[2].Value = Convert.ToString(value);rnrn string addModule = "insert into InMoney Values (@Year,@Name,@Value)";rn MessageBox.Show("here");rn //string addModule = "insert into InMoney Values (@In_Year,@In_Name,@In_Value)";rn Connection.ExecuteScalar(addModule, parModule);rn rn public bool CheckValue()rn rn rn SqlParameter[] parYear = new SqlParameter[1];rnrn parYear[0] = new SqlParameter("@Year", SqlDbType.VarChar, 60);rnrn parYear[0].Value = this.cbYear.Text.ToString().Trim();rnrn string selectData = "select * from InMoney where In_Year = @Year";rnrn int i = Connection.ExecuteCount(selectData, parYear);rnrn if (i > 0)rn rn MessageBox.Show(this.cbYear.Text + "数据已录入!");rnrn return false;rn rnrn return true;rn rnrn private void button1_Click(object sender, EventArgs e)rn rn rn if (this.CheckValue())rn rn InsertData(this.label1.Text.ToString().Trim(), this.textBox1.Text.ToString().Trim());rn InsertData(this.label2.Text.ToString().Trim(), this.textBox2.Text.ToString().Trim());rn InsertData(this.label3.Text.ToString().Trim(), this.cbYear.Text.ToString().Trim());rn MessageBox.Show("数据全部录入完毕!");rn this.textBox1.Text = string.Empty;rn this.textBox2.Text = string.Empty;rn this.cbYear.Text = string.Empty;rn rn rn rnrn显示数据录入成功,可是我的数据库里却没有数据rn为什么呢?
pdo为什么不报错
。。。怎么才能让它报错呢? 明明我写错了, 它就是不抱,只是一片空白。。。
如何向数据库里插入大量数据
写了一个小程序,想拿个大的数据库测试一下但苦于没有大数据库!大家有没好的办法向数据库里插入大量的数据?
数据为何没有插入到数据库里?
提交表单,值都可以打印出来,为什么最后没有插入到数据库里?页面也没有报错,快要崩溃了rnrnset dgRs=server.CreateObject("adodb.recordset")rn dgRs.open "select * from venshop_dg",conn,1,3rn dgRs.addnewrn dgRs("Uname")=request("dgName")rn dgRs("Telephone")=request("phone")rn dgRs("Address")=request("address")rn dgRs("Email")=request("email")rn dgRs("Contents")=request("LY")rn dgRs("ProName")=request("chanpin")rn dgRs("ProID")=hw_idrn dgRs("dgTime")=now()rn dgRs.update rnrn Dim sqlrn strSql="insert into venshop_dg(Uname,Telephone,Address,Email,Contents,ProName,ProID,dgTime) values('"&request("dgName")&"','"&request("phone")&"','"&request("Address")&"','"&request("Email")&"','"&request("LY")&"','"&chanpin&"',"&hw_id&",'"&now()&"'"rn 'response.Write(sql) rn conn.Execute strSqlrn都试了 还是没插进去
OracleDataAdapter.Update(),数据插入不到数据库里
public static void Adapter_updateDB(DataTable dt)rnrnstring sql_str = "insert into t_avgwindspeed(DATETIME,WINDMILLNUM,WINDSPEED,POWER)values(@DATETIME,@WINDMILLNUM,@WINDSPEED,@POWER)";rn//string sql_str = "insert into t_avgwindspeed(DATETIME,WINDMILLNUM,WINDSPEED,POWER,TIMECELL)values(@DATETIME,@WINDMILLNUM,@WINDSPEED,@POWER,@TIMECELL)";rnConnection = new OracleConnection(Conn_str);rnOracleCommand com = new OracleCommand(sql_str,Connection);rncom.Parameters.Add("@DATETIME", OracleDbType.Date, 32, "时间");rncom.Parameters.Add("@WINDMILLNUM", OracleDbType.Varchar2, 32, "风机名");rncom.Parameters.Add("@WINDSPEED", OracleDbType.Varchar2, 32, "风速");rncom.Parameters.Add("@POWER", OracleDbType.Varchar2, 32, "功率");rn//com.Parameters.Add("@TIMECELL", OracleDbType.Varchar2, 32, "时间间隔");rncom.UpdatedRowSource = UpdateRowSource.None; rnOracleDataAdapter da = new OracleDataAdapter();rnda.InsertCommand = com;rnConnection.Open();rnda.Update(dt);rnConnection.Close();rnrn
为什么数据库里的int数据不能插入?
我在Text文本中获得了数字rn为什么却插入不到数据库中?rnrnrnrnrn有以下几个错误rn比如:rnxxx = cint(Text1.text)rnconn.execute("insert into [db1](ziduan) values(xxx)")rn提示:找不到变量xxxrnrnxxx = cint(Text1.text)rnconn.execute("insert into [db1](ziduan) values("&xxx&")")rn提示:语法有错rnrnxxx = cint(Text1.text)rnconn.execute("insert into [db1](ziduan) values('&xxx&')")rn提示:数据类型不匹配rnrnrnrn当然,我知道,如果我把数据库中字段改为char ,那么第三个就对了,但是,我想保持数据库中的int型,该怎么办,我rn谢谢rnrn
数据插入报错
插入数据时报错:ambiguous date/datetime constant,在msdn中查说是因为日期格式不严格导致的。把日期字段数据由07/20/82改成^1982/07/20,然后对了。rnrn 请问什么是严格的日期格式?符号‘^’是什么意思?插入数据时只能以严格的日期格式输入吗?rn 谢谢!
插入多行数据报错?
//insert into so_sodetails(cSOCode,cInvCode,dPreDate,iQuantity,iTaxUnitPrice,&rn//iMoney,iTax,iSum,iTaxRate,ID,dPreFinishDate,cDefine24,iSOsID)rn//select :ls_ccode,cinvcode,denddate,orderqty,iTaxUnitprice,&rn//imoney,itax,iSum,itaxrate,:ll_somain_id,dstartdate,cuscinvcode,0rn//from pp_pomainrn//where id = :ll_pp_id and rownumber > 0rn//using sqlca;rnrn//定义一个数组,用来存储dw_2每行的mainid值,用IN的方法来试试,如果不行,就用循环了。rn//发现在循环中不好用INrnrnlong ll_mainid[]rnrnfor ll_row = 1 to dw_2.rowcount()rn ll_mainid[ll_row] = dw_2.getitemnumber(ll_row,"mainid")rn insert into so_sodetails(cSOCode,cInvCode,dPreDate,iQuantity,iTaxUnitPrice,&rniMoney,iTax,iSum,iTaxRate,ID,dPreFinishDate,cDefine24,iSOsID)rnselect :ls_ccode,cinvcode,denddate,orderqty,iTaxUnitprice,&rnimoney,itax,iSum,itaxrate,:ll_somain_id,dstartdate,cuscinvcode,0rnfrom pp_pomainrnwhere mainid = :ll_mainid[ll_row]rnusing sqlca;rn rn rn rnnextrnrn如上两段代码。都是想插入多行数据,下面那个方法用的是循环,也不行,单行就可以,真是打破头想不明白,只好请教各位了。
数据窗口插入报错。
调试的时候,每到一个SQL插入语句就报错,但在administrator中插入对应的库表则没有问题,是怎么回事啊?初次使用还请高手指点。谢谢
插入一条数据报错
原因是主键数据库会自动生成,但程序给赋值了,修改程序或修改hibernate映射文件主键生成方式 JZ0BE: BatchUpdateException:执行批处理语句时出错:Explicit value specified for identity field in table 'ccskc.dbo.kc_question' when 'SET IDENTITY_INSERT' is OFF.
插入数据库 不报错 但也没有数据
C#代码:rn[code=csharp]using System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Linq;rnusing System.Text;rnusing System.Windows.Forms;rnusing System.Data.SqlClient;rnusing System.Configuration;rnusing System.IO;rnrnnamespace 手机归属地导入查询rnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rnrn private void button1_Click(object sender, EventArgs e)rn rn FolderBrowserDialog dlg = new FolderBrowserDialog();rn if (dlg.ShowDialog() != DialogResult.OK)rn rn return;rn rn string path = dlg.SelectedPath;rnrn String connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;rn using (SqlConnection conn = new SqlConnection(connStr))rn rn conn.Open();rn using (SqlCommand cmd = conn.CreateCommand())rn rn cmd.CommandText = "delete from T_PhoneInfo";rn cmd.ExecuteNonQuery();rn rn rnrnrn string[] files = Directory.GetFiles(path, "*.txt", SearchOption.AllDirectories);rnrn using (SqlConnection conn = new SqlConnection(connStr))rn rn conn.Open();rn using (SqlCommand cmd = conn.CreateCommand())rn rn cmd.CommandText = "Insert into T_PhoneInfo(sEndNo,sName,sStartNo) values(@sEndNo,@sName,@sStartNo)";rnrn foreach (string file in files)//遍历文件名rn rn string 运营商名称 = Path.GetFileNameWithoutExtension(file);rn //不用StreamReader,因为文件很小,rn string[] lines = File.ReadAllLines(file, Encoding.Default);rn //一次性加载,也不占多少内存,ReadAllLines默认编码是UTF-8rnrn foreach (string line in lines)rn rn string[] strs = line.Split('-');rn string 开始号码 = strs[0];rn string 结束号码 = strs[1];rn string 市 = strs[2];rnrn cmd.Parameters.Clear();rn cmd.Parameters.Add(new SqlParameter("sEndNo", 结束号码));rn cmd.Parameters.Add(new SqlParameter("sName", 运营商名称 + 市));rn cmd.Parameters.Add(new SqlParameter("sStartNo", 开始号码));rnrn cmd.ExecuteNonQuery();rn //int i;rn //i = cmd.ExecuteNonQuery();rn //MessageBox.Show(i.ToString());rn //MessageBox.Show(运营商名称 + 市);rn rn rn rn rn MessageBox.Show("导入成功!");rn rn rnrn[/code]rnrnprogram.cs中已添加rn[code=csharp]string dataDir = AppDomain.CurrentDomain.BaseDirectory;rn if (dataDir.EndsWith(@"\bin\Debug")rn || dataDir.EndsWith(@"\bin\Release"))rn rn dataDir = System.IO.Directory.GetParent(dataDir).Parent.FullName;rn AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);rn [/code]rnrn配置文件已有:rn[code=html]rn rn [/code]rnrn没有报错,各种调试和输出都没问题,就是插不进去数据库。求解
php mysql pdo 预处理语句
pdo 是php与数据库连接的三种方式之一,也是最常用的方式(大部分php框架与数据库链接用的都是pdo的方式),自从php引入了pdo扩展,大大增强的php的实用性,从而更受欢迎。下面分享一下pdo中强大功能的一角:使用pdo实现数据库的预处理语句:    $servername = "localhost"; $username = "username"; $password =
PHP从数据库里读取的数据问题
首先问下rn$db=new mysqli('localhost',$db_user,$db_pw,$db_name);rn$edit=$db->query("select title,content from post where id=$id");rnrn我用这样的输出行不?rnif (get_magic_quotes_gpc()) rnecho htmlspecialchars($edit['title']);rnelse rnecho htmlspecialchars(stripslashes($edit['title']));rnrn但是提示Fatal error: Cannot use object of type mysqli_result as arrayrnrnrn另外有个疑问就是我如果定义了db_connect(),里面是用$db=new mysqli的方式连接数据库rn我看书上,以后调用这个函数以后也可以以对象的方式读取或写入数据库,rn但是我运行的时候就提示一个空对象?
pdo插入表数据为什么插入不了呢,也不报错。
beginTransaction();rn$conn->exec("INSERT INTO books (title,author) values ('je','dd')");rn$conn->commit();rn?>
PHP PDO插入一条数据,重复出现两条的情况
$dsn = sprintf(&quot;mysql:host=%s;dbname=%s;charset=utf8&quot;, $host, $dbName);$_dbHandle = new PDO($dsn, $user, $password, $option); $sql = &quot;insert into `name` (`age`) values (18)&quot;; $_dbHandle-&amp;gt;...
如何让数据库里的数据不重复???
我不想建联合主键,心里感觉那样影响效率 :)rnrn但我不想让数据库中出现所有字段完全相同的两条记录,该如何做???
为什么不显示数据库里的数据?
void SysUserView::OnInitialUpdate()rnrn BeginWaitCursor();rn GetRecordset();rn MessageBox("adaddd");rn CRecordView::OnInitialUpdate();rn if (m_pSet->IsOpen())rn if (!m_pSet->IsEOF())rn rn //若记录集不为空,则遍历记录集,rn //使GetRecordCount函数返回准确的记录数rn while(!m_pSet->IsEOF())rn m_pSet->MoveNext();rn m_reccount=m_pSet->GetRecordCount();rn m_pSet->MoveFirst();rn m_recno=1;rn //第一条记录是当前记录,禁止向前和第一条记录按钮rn m_User_MoveFirst.EnableWindow(false);rn m_User_MovePrev.EnableWindow(false);rn rn elsern rn //如果没有记录,则禁止记录切换按钮rn m_User_MoveFirst.EnableWindow(false);rn m_User_MovePrev.EnableWindow(false);rn m_User_MoveNext.EnableWindow(false);rn m_User_MoveLast.EnableWindow(false);rn rn UpdateData(false); //将成员变量数据传递到窗口rn EndWaitCursor();rnrn各位大大 帮我看看.....
怎么数据库里数据不更新?
sql="update board set number=number+1 where id="+boardId;rnrs=db.executeQuery(sql);rn但number没变化!rn数据库是ACCESS,number为长整型,id是自动编号,boardId读出来的值是对的,数据库中也有相应的记录,但执行后number没变化,页面没出错信息,rn但tomcat的提示出错信息是:rnaq.executeQuery:[Microsoft][ODBC Microsoft Access Driver] UPDATE 语句的语法错误。
为什么数据库里的数据不显示呢???
我用ODBC连接了一个用ACCESS做的数据库,使用PB8。0然后创建DATA WINDOW然后在窗口中的数据窗口对象中引用,在设计面板的PREVIEW中可以看到表中的字段名和记录都可以看到的,可程序一运行就只能看到字段名看不到记录内容了,为什么呀,高手能说细点吗?我刚学PB,谢谢。另外,连ACCESS的数据库还用在应用程序的OPEN时间里加那么多连接的代码吗????
PHP向MySql中插入单条数据
主要讲解PHP的入门知识,包含PHP环境的安装、基础语法、PHP数据类型、运算符、常用语句、常用变量、函数、数组等,以及和mysql的数据操作,实战制作一个表单和数据库的互动:录入数据、修改数据、删除数据。
php无法将数据插入mysql
源码:rn$db =new mysqli("localhost","root","5832528");rn$db->select_db("books");rn$query1 = "insert into books values('123-457','zhp','C++',56)";rnif(mysqli_connect_errno())rn echo '连接错误';rn exit;rnrn$result = $db->query($query1);rnif($result)rn echo $db->affected_rows.' book inserted into database';rnelsern echo "Error";rn$db->close();rnrn在phpmyadmin执行查询语句没问题,数据库也可以连接上去,执行查询什么的也没问题。就谁无法将数据插入mysql了
PHP向MySql中插入多条数据
主要讲解PHP的入门知识,包含PHP环境的安装、基础语法、PHP数据类型、运算符、常用语句、常用变量、函数、数组等,以及和mysql的数据操作,实战制作一个表单和数据库的互动:录入数据、修改数据、删除数据。
PHP页面MYSQL只能插入一次数据
rnrnrn rn rn rnrnrn rn rn rn rnrnalert("OK!")';rn rn elsern echo ' ';rn rn rn mysqli_close($con);rn?>rnrnrnrnrn初学 ,按教程来的rn做完后发现第一次提交数据时能插入到数据库,后面几次的插入都失败了(Alert了No)rn进PHPMYADMIN发现第一次插的数据怎么删也删不掉rn但是用SQL语句插入是可以的 也是可以删除的rn用的PHP5.6+NGINX
php操作mysql迅速插入上百万数据
想要学习mysql存储,双机备份,主从架构的前提是必须要有大量的数据,大量数据插入数据表的速度很慢 超过百万级别的数据就需要几个小时。那么如何在几分钟内插入上百万数据呢? 原理:mysql插入数据库 插入时候并没有提交到mysql表里在insert后面需要执行commit操作才会插入数据库 默认mysql是自动提交,如果关闭自动提交,在insert几十万数据在进行commit那么会大
php数据库操作——新数据插入到MySQL
使用mysql_query进行数据查询,插入数据的sql语句为 $sql = "insert into user(name, age, class) values('李四', 18, '高三一班')"; mysql_query($sql); //执行插入语句 通常数据都是存储在变量或者数组中,因此sql语句需要先进行字符串拼接得到。 $name = '李四'; $age = 18; $c
PHP MYSQL 使用 PDO 连接数据库并执行 SQL 语句
&amp;lt;?php //获取GET信息 $driver_phone = $_GET['driver_phone']; $route_from = $_GET['start_place']; $route_to = $_GET['arrive_place']; $start_time = $_GET['start_time']; $arrive_time = $_GET['arrive_time'];...
PHP数据插入问题
";rnrnrn$query1="insert into radcheck(username,attribute,op,value) values('TIP'.$username,'User-Password',':=','TIP'.$value)";rn$result=mysql_query('$query1;');rn$query2="insert into usergroup(username,groupname) values('TIP'.$username,$groupname)";rn$result=mysql_query('$query2;');rnecho " ";rn?>rnrn页面不显示任何错误,跳转也对(用户名相同跳转到error.php不同跳转到manager.php),就是不能插入数据,高手帮忙给改一下
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表