ilovejinglei 原文 C#中保存datagridview中的数据时报错“动态SQL生成失败。找不到关键信息”

问题描述

   

相关代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types; namespace 订单系统
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private DataSet ds;
private OracleDataAdapter oda;
private OracleConnection con;
private OracleCommand cmd; private void Form1_Load(object sender, EventArgs e)
{
try
{
string conString = "User Id=dingzi; password=dingzi;" + "Data Source=localhost:1521/orcl; Pooling=false;";
con = new OracleConnection();
con.ConnectionString = conString;
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = "select * from stock order by 订货日期 desc";
OracleDataReader reader = cmd.ExecuteReader();
ds = new DataSet();
oda = new OracleDataAdapter(cmd.CommandText, con);
oda.Fill(ds);
dataGridView1.DataSource = ds.Tables[];
dataGridView1.Columns["订货日期"].DefaultCellStyle.Format = "yyyy/MM/dd HH:mm:ss";//此句要放在ataGridView1.DataSource之后;
con.Close();
}
catch (Exception E)
{ MessageBox.Show(E.Message); }
} private void button1_Click(object sender, EventArgs e)
{
OracleCommandBuilder cx = new OracleCommandBuilder(oda);
oda.Update(ds); con.Open();
OracleCommand cmd = new OracleCommand("update stock set 订货日期=sysdate where 订货日期 is null", con);
cmd.ExecuteNonQuery();
MessageBox.Show("保存成功", "提示"); //更新数据后刷新数据
cmd = con.CreateCommand();
cmd.CommandText = "select * from stock order by 订货日期 desc";
OracleDataReader reader = cmd.ExecuteReader();
ds = new DataSet();
oda = new OracleDataAdapter(cmd.CommandText, con);
oda.Fill(ds);
dataGridView1.DataSource = ds.Tables[];
con.Close();
}
}
}

解决问题的提示:

这个错误是因为没有主键。

c#保存datagridview中的数据时报错 “动态SQL生成失败。找不到关键信息”的更多相关文章

  1. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  2. c#.net循环将DataGridView中的数据赋值到Excel中,并设置样式

    Microsoft.Office.Interop.Excel.Application excel =                new Microsoft.Office.Interop.Excel ...

  3. 将Datagridview中的数据导出至Excel中

        首先添加一个模块ImportToExcel,并添加引用         然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...

  4. vs 2015 rdlc报表绑定datagridview中的数据

    这几天一直想要实现rdlc报表绑定datagridview中的数据,始终在虚拟表向rdlc报表绑定这一步上出错.今天从下午4点到七点四十一直在尝试.最终还是实现了,最然并不知所以然,这个问题还是以后在 ...

  5. MySQL 导入外部数据时报错:1153: Got a packet bigger than 'max_allowed_packet' 解决方案

    MySQL 导入外部数据时报错:1153: Got a packet bigger than 'max_allowed_packet' 解决方案 zoerywzhou@163.com http://w ...

  6. layui表格数据渲染SpringBoot+Thymeleaf返回的数据时报错(Caused by: org.attoparser.ParseException: Could not parse as expression: ")

    layui table渲染数据时报错(Caused by: org.attoparser.ParseException: Could not parse as expression: ") ...

  7. resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found.

    resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found. 代码: String sql="SELECT d.co ...

  8. 【Visual Studio】关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库...

    关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库... 我安装了vs2015,一开始创建项目,网站都没问题,有一次突然打开项目时报错,瞬间懵逼,我啥都没干啊!!! 网上 ...

  9. python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图

    python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图 # coding=utf-8 from openpyxl import load_workbook ...

随机推荐

  1. RE:转:一些不常用的html代码

    1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键<table border oncontextmenu= ...

  2. jquery中json数据转换为字典

    首先在前台页面中的json数据为 var recipe = {}; recipe["name"] = $("#name").val(); recipe[&quo ...

  3. C#学习笔记(三)

    1.我们在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数称之为被调用者.如果被调用者想要得到调用者的值:1).传递参数.2).使用静态字段来模拟全局变 ...

  4. 算法导论_ch2

    Ch2算法基础 whowhoha@outlook.com 2.1 插入排序 输入:n个数的一个序列〈a1,a2,…,an〉. 输出:输入序列的一个排列〈a′1,a′2,…,a′n〉,满足a′1≤a′2 ...

  5. spoj 42

    简单题   水水~~ /************************************************************************* > Author: x ...

  6. hdu 1018

    数学题  用的这个方法比较烂 g++超时  c++ 406ms /******************************************************************* ...

  7. 用户自定义结构数据与VARIANT转换 .

    用户自定义结构数据与VARIANT转换 cheungmine 将用户自定义的C结构数据存储成VARIANT类型,需要时再将VARIANT类型转为用户自定义的结构数据,有十分现实的意义,既然我们不想为这 ...

  8. Socat

    http://www.oschina.net/p/socat/ tcpick https://sourceforge.net/projects/tcpick/

  9. 【无聊放个模板系列】HDU 3506 (四边形不等式优化DP-经典石子合并问题[环形])

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...

  10. SaaS系列介绍之八: SaaS的运营模式

    1 引言 软件的核心是它为用户解决领域相关问题的能力.               ________Eric Evans,<领域驱动设计> 传统的软件生命周期中,软件的维护占整个过程的70 ...