我正在构建一个新的Web应用程序,该应用程序需要生成一个内部短URL,以便将来用户轻松返回到具有非常长URL的特定页面.我最初的想法是将数字存储在数据库中,并以HEXADECIMAL值输出,以使其短于整数.TinyURL.com似乎使用了除HEXADECIMAL之外的其他东西(多个大小写字母与数字混合).是否有一种简单的方法可以生成与TinyURL类似的东西?
我创建了一个简单的无参数存储过程,我在下面粘贴了它.我已将存储过程导入到我的实体模型并创建了一个Function Import.永远不会创建模型中的函数,我无法使用ADO.NET实体框架执行此存储过程.我已在XML视图中打开.edmx文件,并确认此存储过程没有错误.我究竟做错了什么?是否真的不可能从实体框架中调用这样一个简单的存储过程?我已将导入函数的返回类型设置为None,看到此存储过程不需要返回任何记录集或值.
存储过程:
ALTER PROC [dbo].[Inventory_Snapshot_Create]
AS
SET NOCOUNT ON
DECLARE @Inventory_Snapshot_ID int
INSERT INTO Inventory_Snapshots (snapshot_timestamp)
VALUES (GETDATE())
SET @Inventory_Snapshot_ID = SCOPE_IDENTITY()
INSERT INTO Inventory_Snapshot_Products (inventory_snapshot_id,
idProduct, stock)
SELECT @Inventory_Snapshot_ID, idProduct, stock
FROM products
SET NOCOUNT OFF
Run Code Online (Sandbox Code Playgroud)
代码尝试执行存储过程:
Dim db As New MilkModel
db.Inventory_Snapshot_Create()
Run Code Online (Sandbox Code Playgroud) 有没有使用游标或外部脚本/代码严格使用SQL复制父记录和所有相关子记录的简单方法?这是我所拥有的一个例子:
categories
==
category_id
category_name
parent_table
==
parent_record_id
category_id
... <other fields>
child_table1
==
child_table1_id
parent_record_id
... <other fields>
child_table2
==
child_table2_id
parent_record_id
... <other fields>
Run Code Online (Sandbox Code Playgroud)
基本上,我需要完全复制所有这些数据.唯一会改变的字段是ID,因为它们都是auto_increment.基于上面的模式,当我复制类别表中的记录时,我将最终得到所有新的category_id值.当我创建parent_table记录的副本时,我需要一种方法以某种方式使用刚刚创建的新category_id值更新旧的category_id值.然后,在复制child_record1和child_record2记录时,我需要使用新的parent_record_id值.
我觉得必须有一种更简单的方法来实现这一点,而不是用PHP或其他语言在外部编写所有内容.在那儿?
我需要设计一个Web应用程序,允许访问者绘制和标记基本形状.参观者将绘制商店的基本地图.绘制的形状需要存储在数据库(它们的坐标和大小)以及它们的标签和一些选项中,以便稍后可以在不同的应用程序中轻松复制它们.
在网页上完成此操作最简单的方法是什么?!