一个关于Oracle更新语句引发的时间字段类型的问题
想当初我在做一个ASP.NET网站的时候,用的是Oracle数据库更新数据。表里面的字段有int类型的,string类型的,还有date类型的,在
想当初我在做一个ASP.NET网站的时候,用的是Oracle数据库更新数据。表里面的字段有int类型的,string类型的,还有date类型的,在和asp.NET前台控件绑定更新的时候总是出现问题,我当时上网查了好多东西,总是看的模棱两可,,毕竟也是头一次接触操作Oracle。我把我最初写的更新贴出来(现在这个问题已经解决了),你们看看:
更新语句如下: sql = .txtname.Text.Trim(), this.txtip.Text.Trim(), this.txtport.Text.Trim(), this.txttime.Text.Trim(), this.txtlocation.Text.Trim(), this.txtinstalltime.Text.Trim(), this.DropDownList_tname.Text.Trim(), this.txtid.Text.Trim());
首先,出现的问题就是“类型”与“单引号”的问题,报的错误是,如下图:
这个错误是,ORA-01861: 文字与格式字符串不匹配。
可能是因为你那个表里面的time这一列,数据类型是date类型的。
你传递一个字符格式的内容进去以后,数据库不知道如何格式化这个字符信息为日期。
下面是一个网友提供的,错误重现的例子与解决的办法。在这里非常感谢他的热心帮助
SQL> create table test_time( time date ); 表已创建。 SQL> insert into test_time values(); insert into test_time values() * ERROR 位于第 1 行: ORA-01861: 文字与格式字符串不匹配 SQL> insert into test_time values(); insert into test_time values() * ERROR 位于第 1 行: ORA-01861: 文字与格式字符串不匹配 SQL> insert into test_time values( TO_DATE(, ) ); 已创建 1 行。
对于上面的更新语句,我总结如下:
string类型的可以加单引号,像r.name='{0}',r.ip='{1}',r.port='{2}'等等都是可以的;
int类型的在Oracle数据库更新语句中是不能加单引号的,像id='{7}'是不行的,应该去掉单引号改为id={7};
date类型可以加单引号,但不是像r.time='{3}'这样的,应该应用TO_DATE()来转换格式,如:r.time=to_date('{3}','yyyy-mm-dd')。asp.net前台控件中输入的是字符串类型的数据,更新的时候当然要转换成时间类型格式的,修改后的更新语句如下:
sql = , ), this.DropDownList_tname.Text.Trim(), this.txtid.Text.Trim());
最后,如果您还需要Oracle中TO_DATE格式的其它解答,下面的链接地址有详细的解说,相信一定能帮助您的。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

InnoDB的全文搜索功能非常强大,能够显着提高数据库查询效率和处理大量文本数据的能力。 1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。 2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。 3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

聚集索引和非聚集索引的区别在于:1.聚集索引将数据行存储在索引结构中,适合按主键查询和范围查询。2.非聚集索引存储索引键值和数据行的指针,适用于非主键列查询。
