- 博客(17)
- 收藏
- 关注
原创 [oracle]存储过程入门
什么是存储过程官方解释是这样的:存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来调用存储过程。我在初学存储过程的时候给我的感觉就很像是java、C#里的方法,能够传参以及反复调用,效率较高。演示第一个存储过程:无参数,无返回值。无参的存储过程带不带小...
2019-09-30 16:39:39 482
原创 [oracle]静态游标之隐式游标
隐式游标简单说明我们在执行DML操作(增删改)和单行的select into语句时会自动使用隐式游标。当系统使用一个隐式游标时,可以通过隐式游标的属性来了解操作的状态和结果,进而控制程序的流程。隐式游标可以使用关键字sql来进行访问,不过这个sql只能访问上一次的DML操作或单行select into操作的游标属性。所以通常在刚刚执行完操作之后,立即使用SQL游标名来访问属性。隐式游标的四种...
2019-09-29 11:47:33 650
原创 [oracle]引用游标
一.注意事项1.创建游标变量需要两个步骤:(1).声明ref游标类型(2).声明ref游标类型的变量2.cursor与ref cursor区别:(1).cursor定义好后无法修改,ref cursor截图根据逻辑来动态打开。(2).cursor不能返回给客户端,ref cursor可以。(3).cursor可以使全局的global,ref cursor则必须定义在过程或函数中。(...
2019-09-25 16:01:04 839
原创 [oracle]静态游标之显式游标
一.Oracle中游标可以分类介绍1.静态游标:结果集已经确实(静态定义)的游标。在执行前,明确知道sql语句游标 ,静态游标又分以下两种类型。(1).显式游标:用户显示声明的游标,即指定结果集。当查询返回结果超过一行时,就需要一个显式游标。使用显示游标需要用户自己写sql语句。(2).隐式游标:所有DML语句(增、删、改、查询单条记录)为隐式游标,该变量名不需要用户自己声明,它由系统...
2019-09-23 17:33:02 410
原创 [C#]关于DateTime的一点注意事项
我们直接声明DateTime的话,是不允许直接赋值为空的,如下。如果不赋值的话,会默认给一个日期,即"0001-01-01 00:00:00",如下class Test{ public DateTime Dt { set; get; }}class Program{ static void Main(string[] args) { Test test = new Test...
2019-09-18 15:23:13 431
原创 [C#]简单连接Oracle数据库
虽说是C#连接Oracle数据库,但最近我用惯了WPF,所以这里用WPF项目为例。我们需要有这个Oracle.ManagedDataAccess.dll文件,可以在该地址下载http://xiazai.jb51.net/201908/yuanma/Oracle.ManagedDataAccess(jb51net).rar声明一下:我是个新手,不太懂Oracle.ManagedDataAcce...
2019-09-18 11:32:06 679
原创 [WPF]Binding查找DataContext的一点问题
按照现在网上关于DataContext的普遍说法,WPF的UI是树状的,每个节点都是控件,所以每个节点都有DataContext属性,如果一个Binding找不到自己的Source那他就会沿着这个UI树一直往上找,直到找到和Path对应的那个属性,如果到最外层也没找到,那就没有数据源。可我发现好像并不像是这样,下面用一个例子来说明吧。新建一个类,为Human.csusing System;...
2019-09-17 11:15:09 4688
原创 [WPF]INotifyPropertyChanged接口用法
先看看如下例子,不使用INotifyPropertyChanged接口的话会存在什么问题。不使用INotifyPropertyChanged接口新建一个项目,其中新建一个类叫做Person.cs,这个类里面有3个字段分别是姓名、年龄、爱好,然后将字段封装。代码如下using System;using System.Collections.Generic;using System.Linq...
2019-09-16 10:14:57 2810 2
原创 [WPF]第一个的自定义控件
初学wpf,弄了好久才慢慢弄懂了一点依赖属性,然后现在搞一个自定义控件来进一步了解了解依赖属性。新建一个wpf项目,在项目中新建一个用户控件,叫MyEllipse。MyEllipse.xaml代码如下<UserControl x:Class="WpfApplication20190830A.MyEllipse" xmlns="http://schemas.mi...
2019-08-30 10:00:53 260
原创 [WPF]简单的自定义依赖属性
先通过代码来看一个简单效果,看完后才方便讲解依赖属性的作用。新建一个wpf项目,然后在布局里放上两个TextBox控件,MainWindow.xaml代码如下<Window x:Class="WpfApplication20190826C.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pre...
2019-08-26 15:03:41 737
原创 [oracle]使用rownum进行简单分页查询
最早接触的数据库是mysql,mysql里面有个独有的limit功能特别适合少量数据的分页查询。现如今使用oracle数据库后,发现它并没有limit这个功能,上网搜了许久,才知道有一个可以用于分页的字段rownum。话不多说,举例说明。create table testData( id number(5) primary key, content varchar...
2019-08-21 12:10:47 2527
原创 [oracle]触发器第一篇:DML触发器
一.触发器概念触发器是存储在服务器中的程序单元,当数据库中的某些事件发生时,数据库自动启动触发器,执行触发器中的相应操作。1.触发器是一种特殊的存储过程,具备事务的功能;2.触发器不能被直接调用,而是由事件来触发;3.触发器常用于加强数据的完整性约束和业务规则等。简单点说:触发器就是个开关,灯就是开关触发后的操作,触动了开关灯就亮了。二.触发器类型分类1.DDL触发器(模式触发器)...
2019-08-19 12:08:13 1222
原创 [java-ssm]向数据库新增数据后返回主键id
操作需要在Mapper.xml文件中给insert标签内部第一行加上类似如下代码,表示新增完毕后立马查询id。keyProperty属性填写的是你的实体类的主键字段;order为after时表示是新增完后才返回主键id,如果是before则是新增前返回;resultType是主键id类型。<selectKey keyProperty="customerId" order="AFTE...
2019-08-15 11:43:59 2765
原创 [java-ssm]单文件下载
说明:在上传文件的时候,文件都是重命名了唯一名称保存在服务器,只有新名称保存在数据库。所以我们下载不是从数据库下载,而是从数据库找到这个文件名,从而在服务器找到这个文件并下载过来。注意:下载不能使用ajax,要么使用表单,要么在js使用 window.location.href。后者缺点是只能支持get提交。jsp代码如下:下载的a标签里的属性实际上是通过属性thisid存有该下载文件在...
2019-08-15 11:13:06 144
原创 [java-ssm]$.ajax()单文件上传
使用ajax上传文件相比form表单上传文件,最好的一点就是让用户体验更舒适。form表单提交无论如何都会导致页面刷新,而ajax提交可以自己控制,如果上传失败还可以停留在原页面。文件上传流程分析:上传文件本质是把参数转成二进制编码,必须是POST提交方式才行,前台提交到后台就是以二进制数据流的方式传输。以往在做文件上传时,使用表单提交的话,jsp代码大致要要写成<form acti...
2019-08-15 10:49:42 184
原创 [oracle]根据分隔字符将单字段拆分成多行
最初这个拆分的语句我也是从别人的博客搜来的,但是基本上只能根据单个分隔字符(即分隔字符的长度为1)来拆分。经过我反复测试,修改了好一些代码,终于成功进行了拓展,分隔字符长度为2、3甚至更多时一样能够成功拆分。所以这篇文章算是原创也说得过去吧?演示1.根据单个字符进行拆分– 创建表create table myfriendsTest( friendid number(18),...
2019-08-14 11:28:25 3149 3
原创 [oracle]查询本天、周、月、年的数据
注:凡是标明"不准确"的,都不建议用,因为这个语句有缺陷,最后一天的数据最能查到00:00:00的数据,00:00:01~23:59:59的就查不到了。测试用的表create table dateTest(id number(18),thedate date);插入数据略当天的(1)Select * From dateTest t Where trunc(t.thedate)= ...
2019-08-14 11:10:32 1099
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人