postgresql-42.2.10.jar
postgresql-42.2.10.jar
课程路径
连接关闭()
next()
结果集
getLong(长)
获取字符串
为Null
“从注册地点删除student=111111111 AND course='cc111'”
“从注册的WHERE学生中删除=” +身份证号码+ “AND课程=” +代码+ “'”
“从注册的WHERE学生中删除=” +身份证号码+ “AND课程=” +代码+ “'”
idnr=0
代码= “x'或'a'='a”
“从注册的WHERE学生中删除=” +身份证号码+ “AND课程=” +代码+ “'”
idnr=0
代码= “x'或'a'='a”
删除 发件人 已注册 其中 学生 = 0 和 课程 = “x” 或 “a” = “a”
Robert’); 降表学生--
?
编制报表
?
编制报表
创建报表()
已编制报表
结果集
设置.sql
设置.sql
进口 数据库。 HDBC公司
进口 数据库。 HDBC。 PostgreSQL
进口 数据库。 HDBC。 方形3
电缆安装HDBC-postgresql
连接PostgreSQL :: 字符串 -> IO(输入输出) 连接
进口 数据库。 HDBC。 PostgreSQL 主要的 = 做 康纳 <- 连接PostreSQL “dbname=国家” -- ...
运行 :: 连接 -> 字符串 -> [ SqlValue(平方值) ] -> IO(输入输出) 整数 犯罪 :: 连接 -> IO(输入输出) ()
进口 数据库。 HDBC公司。 Postgres公司 进口 数据库。 HDBC公司 主要的 = 做 康纳 <- 连接PostreSQL “dbname=国家” 运行 康纳 “更新货币设置值=10.61,其中代码='EUR'” [] 犯罪
犯罪 :: 连接 -> IO(输入输出) () 回降 :: 连接 -> IO(输入输出) ()
带事务处理 :: 连接 -> ( 连接 -> IO(输入输出) 一 ) -> IO(输入输出) 一
主要的 = 做 康纳 <- 连接PostreSQL “dbname=国家” 带事务处理 康纳 $ \ 康纳 -> 做 运行 康纳 “更新货币设置值=10.61,其中代码='EUR'” [] ( ... )
犯罪
回降
快速查询' :: 连接 -> 字符串 -> [ SqlValue(平方值) ] -> IO(输入输出) [[ SqlValue(平方值) ]]
进口 数据库。 HDBC。 Postgres公司 进口 数据库。 HDBC公司 主要的 = 做 康纳 <- 连接PostreSQL “dbname=国家” 排 <- 快速查询' 康纳 查询 [] 打印 排 哪里 查询 = “SELECT name,population FROM Countries WHERE大陆='EU'”
快速查询' :: 连接 -> 字符串 -> [ SQL值 ] -> IO(输入输出) [[ SqlValue(平方值) ]]
SqlValue(平方值)
到Sql
来自Sql
SqlValue(平方值)
获得欧洲大陆 :: 连接 -> 字符串 -> IO(输入输出) [( 字符串 , 国际 )] 获得欧洲大陆 康纳 大陆 = 地图 convertRow(转换行) <$> 快速查询' 康纳 查询 [ 到Sql 大陆 ] 哪里 查询 = “选择名称,人口来自国家WHERE大陆=?” convertRow(转换行) :: [ SqlValue(平方值) ] -> ( 字符串 , 国际 ) convertRow(转换行) [ 名称 , 流行音乐 ] = ( 来自Sql 名称 , 来自Sql 流行音乐 )
未注册学生 :: 连接 -> 字符串 -> 字符串 -> IO(输入输出) () 未注册学生 康纳 学生 课程 = 运行 康纳 ( “从注册中删除” ++ “WHERE课程='” ++ 课程 ++ “'与学生='” ++ 学生 ++ “'” ) []
未注册学生 康纳 “TDA357” “x'或'a'='a”
未注册学生 :: 连接 -> 字符串 -> 字符串 -> IO(输入输出) () 未注册学生 康纳 学生 课程 = 运行 康纳 “从注册地点删除课程=?和学生=?” [ 到Sql 课程 , 到Sql 学生 ]
运行
运行 :: 连接 -> 字符串 -> [ SqlValue(平方值) ] -> IO(输入输出) 整数
准备 :: 连接 -> 字符串 -> IO(输入输出) 声明 执行 :: 声明 -> [ SqlValue(平方值) ] -> IO(输入输出) 整数 执行许多 :: 声明 -> [[ SqlValue(平方值) ]] -> IO(输入输出) 整数
主要的 = 做 康纳 <- ( ... ) 声明 <- 准备 康纳 “插入货币值(?,?)” 执行许多 声明 [[ 到Sql “欧元” , 到Sql 10.55 ], [ 到Sql “英镑” , 到Sql 12.15 ], [ 到Sql “美元” , 到SQL 9.31 ]]
快速查询'
快速查询' :: 连接 -> 字符串 -> [ SqlValue(平方值) ] -> IO(输入输出) [[ SqlValue(平方值) ]]
准备 :: 连接 -> 字符串 -> IO(输入输出) 声明 执行 :: 声明 -> [ SqlValue(平方值) ] -> IO(输入输出) 整数 fetchAllRows的 :: 声明 -> IO(输入输出) [[ SqlValue(平方值) ]] fetchRow(提取行) :: 声明 -> IO(输入输出) [ SqlValue(平方值) ]
声明
执行
获取…
迷你IMDB.hs
SQL行.hs
高温ML.hs
迷你数据库.cabal
电影.sql
导入.psql
视图.sql
索引.sql