sql数据库更新做保存的问题

sql数据库更新做保存的问题,第1张

由于SQL2000里面没有"自动编号",所以你的以"自动编号"设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的"标示"选择"是",种子为"1",增量为"1",

2,另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成非空的"bit",这时候你必须修改成自己想要的属性了;

ACCESS转SQL SERVER中的一些经验

1ACCESS的数据中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 2转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。

3对此两种数据库进行 *** 作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10"

4日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对

SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。

5在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。

1、必须先安装Microsoft Office Access 2003,和SQL Server2000。2、把旧的动网数据库备份,备份完成后,用Access 2003打开动网旧数据库,在打开时会出现一个警告,不要理会它(安全警告),按打开键,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。

2、转换完成后再用Access 2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和要新建的动网数据库(准备转成新的动网数据库),按下一步,按“ 》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序作任何改动”,再按完成。

3、打开SQL企业管理器——数据库��吹礁詹判陆ǖ亩���菘饬税桑�慊髡飧鍪�菘庖幌拢�缓笤诠ぞ呃浮���/FONT>SQL脚本——常规——全部显示——编写全部对象脚本——确定(记住存放的位置)。

4、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查找内容为“smalldatetime”替换为“datetime”——替换全部;完成后再在编辑栏——替换——查找内容为“nvarchar”替换为“varcha”——替换全部,完成后保存退出。

5、打开SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才生成的SQL脚本”——查询——执行,然后关闭窗口。

6、再回到SQL企业管理器——数据库——点击这个数据库一下新建的动网数据库,然后打开工具栏——数据库转换服务——导入数据——下一步——数据源“Microsoft Access”文件名“为旧的动网数据库”——下一步——再下一步——从源数据复制表和视图——下一步——全选——下一步——立即运行——下一步——完成。

7、修改动网文件夹两个文件connasp和inc\constasp。

SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专��菘舛��⒌牟僮髅�罴��且恢止δ芷肴�氖�菘庥镅浴T谑褂盟�保�恍枰�⒊觥白鍪裁础钡拿�睿�霸趺醋觥笔遣挥檬褂谜呖悸堑摹�QL功能强大、简单易学、使用方便,已经成为了数据库 *** 作的基础,并且现在几乎所有的数据库均支持SQL。 <br>

##1 二、SQL数据库数据体系结构 <br>

SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。名称对称如^00100009a^: <br>

##1 三、SQL语言的组成 <br>

在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成: <br>

1一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。 <br>

2一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。 <br>

3一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。 <br>

4一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。 <br>

5用户可以用SQL语句对视图和基本表进行查询等 *** 作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。 <br>

6SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。 <br>

##1 四、对数据库进行 *** 作 <br>

SQL包括了所有对数据库的 *** 作,主要是由4个部分组成: <br>

1数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。 <br>

2数据 *** 纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类 *** 作,其中数据更新又包括插入、删除和更新三种 *** 作。 <br>

3数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。 <br>

4嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。 <br>

下面我们将分别介绍: <br>

##2 (一)数据定义 <br>

SQL数据定义功能包括定义数据库、基本表、索引和视图。 <br>

首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^) <br>

1数据库的建立与删除 <br>

(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为: <br>

CREATE DATABASE <数据库名> 〔其它参数〕 <br>

其中,<数据库名>在系统中必须是唯一的,不能重复,不然将导致数据存取失误。〔其它参数〕因具体数据库实现系统不同而异。 <br>

例:要建立项目管理数据库(xmmanage),其语句应为: <br>

CREATE DATABASE xmmanage <br>

(2) 数据库的删除:将数据库及其全部内容从系统中删除。 <br>

其语句格式为:DROP DATABASE <数据库名> <br>

例:删除项目管理数据库(xmmanage),其语句应为: <br>

DROP DATABASE xmmanage <br>

2基本表的定义及变更 <br>

本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改

三种方法:1)导出成sql脚本到其他电脑上重新运行建表等 *** 作;2)将数据库备份后把备份文件带到其他电脑上还原即可;3)先把服务器停止后到sql数据库的data文件夹下把这个数据库复制出来,然后到其他机子上用附加数据库方式把数据库附加上即可。

数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。

数据库系统,是由数据库及其管理软件组成的系统。数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

SQL数据库一般用于存储持久化数据,而不是瞬时数据。如果您需要保存瞬时数据,可以考虑使用内存数据库或缓存来处理。以下是一些常见的选择:

1 Redis:一个开源的内存数据结构存储系统,可以用来做缓存、消息中间件、分布式锁等。

2 Apache Ignite:一个通过支持内存和磁盘级别的分布式数据存储提供高性能和可扩展性的全功能数据平台。

3 Memcached:一个高性能的,分布式内存对象缓存系统,用于减轻数据库负载,尤其适用于读密集型WEB应用。

无论您选择哪种存储数据的方案,都需要权衡其效率、可靠性和易用性等因素。

有关更多信息,请参见 TableAdapter 概述。若要保存对象集合中的数据,请循环通过对象集合(例如,for-next 循环),然后使用 TableAdapter 的 DBDirect 方法之一将每个对象的值发送到数据库中。默认情况下,DBDirect 方法在 TableAdapter 上创建,能够直接对数据库执行 *** 作。这些方法可以直接调用,它们不要求 DataSet 或DataTable 对象来协调更改即可将更新发送到数据库。注意配置TableAdapter 时,主查询必须提供足够的信息,才能创建 DBDirect 方法。例如,如果将 TableAdapter 配置为从未定义主键列的表中查询数据,它将不会生成 DBDirect 方法。 TableAdapter DBDirect 方法 说明TableAdapterInsert向数据库中添加新记录,此方法允许将值作为方法参数传入各个列。TableAdapterUpdate更新数据库中的现有记录。Update 方法将原始列值和新列值用作方法参数。原始值用于定位原始记录,新值用于更新该记录。通过将 DataSet、DataTable、DataRow、或 DataRow 数组用作方法参数,TableAdapterUpdate 方法还可用于将数据集中的更改协调回数据库。TableAdapterDelete在基于作为方法参数传入的原始列值的数据库中,删除其现有记录。将对象中的新记录保存到数据库中通过将值传递给 TableAdapterInsert 方法可创建这些记录。下面的示例通过将 currentCustomer 对象中的值传递给 TableAdapterInsert 方法,在 Customers 表中创建一项新的客户记录。 Visual Basic PrivateSub AddNewCustomer(ByVal currentCustomer As Customer) CustomersTableAdapterInsert( _ currentCustomerCustomerID, _ currentCustomerCompanyName, _ currentCustomerContactName, _ currentCustomerContactTitle, _ currentCustomerAddress, _ currentCustomerCity, _ currentCustomerRegion, _ currentCustomerPostalCode, _ currentCustomerCountry, _ currentCustomerPhone, _ currentCustomerFax) EndSub C# privatevoid AddNewCustomers(Customer currentCustomer) { customersTableAdapterInsert( currentCustomerCustomerID, currentCustomerCompanyName, currentCustomerContactName, currentCustomerContactTitle, currentCustomerAddress, currentCustomerCity, currentCustomerRegion, currentCustomerPostalCode, currentCustomerCountry, currentCustomerPhone, currentCustomerFax); } J# privatevoid AddNewCustomers(Customer currentCustomer) { northwindDataSetCustomersTableAdapterInsert( currentCustomerget_CustomerID(), currentCustomerget_CompanyName(), currentCustomerget_ContactName(), currentCustomerget_ContactTitle(), currentCustomerget_Address(), currentCustomerget_City(), currentCustomerget_Region(), currentCustomerget_PostalCode(), currentCustomerget_Country(), currentCustomerget_Phone(), currentCustomerget_Fax()); }将对象中的现有记录更新到数据库修改记录:调用 TableAdapterUpdate 方法并传入新值可更新记录,而传入原始值可定位记录。注意对象需要保留其原始值,才能将它们传递给 Update 方法。此示例使用前缀为 orig 的属性存储原始值。下面的示例通过将 Customer 对象中的新值和原始值传递给 TableAdapterUpdate 方法,更新 Customers 表中的现有记录。 Visual Basic PrivateSub UpdateCustomer(ByVal cust As Customer) CustomersTableAdapterUpdate( _ custCustomerID, _ custCompanyName, _ custContactName, _ custContactTitle, _ custAddress, _ custCity, _ custRegion, _ custPostalCode, _ custCountry, _ custPhone, _ custFax, _ custorigCustomerID, _ custorigCompanyName, _ custorigContactName, _ custorigContactTitle, _ custorigAddress, _ custorigCity, _ custorigRegion, _ custorigPostalCode, _ custorigCountry, _ custorigPhone, _ custorigFax) EndSub C# privatevoid UpdateCustomer(Customer cust) { customersTableAdapterUpdate( custCustomerID, custCompanyName, custContactName, custContactTitle, custAddress, custCity, custRegion, custPostalCode, custCountry, custPhone, custFax, custorigCustomerID, custorigCompanyName, custorigContactName, custorigContactTitle, custorigAddress, custorigCity, custorigRegion, custorigPostalCode, custorigCountry, custorigPhone, custorigFax); } J# privatevoid UpdateCustomer(Customer cust) { northwindDataSetCustomersTableAdapterUpdate( custget_CustomerID(), custget_CompanyName(), custget_ContactName(), custget_ContactTitle(), custget_Address(), custget_City(), custget_Region(), custget_PostalCode(), custget_Country(), custget_Phone(), custget_Fax(), custget_origCustomerID(), custget_origCompanyName(), custget_origContactName(), custget_origContactTitle(), custget_origAddress(), custget_origCity(), custget_origRegion(), custget_origPostalCode(), custget_origCountry(), custget_origPhone(), custget_origFax()); }删除数据库中的现有记录通过调用 TableAdapterDelete 方法并传入原始值定位记录,可删除记录。注意对象需要保留其原始值,才能将它们传递给 Delete 方法。 Visual Basic PrivateSub DeleteCustomer(ByVal cust As Customer) CustomersTableAdapterDelete( _ custorigCustomerID, _ custorigCompanyName, _ custorigContactName, _ custorigContactTitle, _ custorigAddress, _ custorigCity, _ custorigRegion, _ custorigPostalCode, _ custorigCountry, _ custorigPhone, _ custorigFax) EndSub C# privatevoid DeleteCustomer(Customer cust) { customersTableAdapterDelete( custorigCustomerID, custorigCompanyName, custorigContactName, custorigContactTitle, custorigAddress, custorigCity, custorigRegion, custorigPostalCode, custorigCountry, custorigPhone, custorigFax); } J# privatevoid DeleteCustomer(Customer cust) { northwindDataSetCustomersTableAdapterDelete( custget_origCustomerID(), custget_origCompanyName(), custget_origContactName(), custget_origContactTitle(), custget_origAddress(), custget_origCity(), custget_origRegion(), custget_origPostalCode(), custget_origCountry(), custget_origPhone(), custget_origFax()); }安全您必须具有相应的权限,才能对数据库中的表执行选定的 INSERT、UPDATE 或 DELETE。

上边的这个大哥说的是对的。

DATASOURCE里边默认的是AUTOEDIT=true

如果你不用他的办法,就使用DBEDIT就可以了。

点击修改,然后取adoquery的RECNO,通过RECNO取数据,

取完数据用ADOQUERY1EDIT。

所有的数据自动更新到数据库中的。

如果想撤销,用

ADOQuery1Cancel

即可。

具体你说的保存整张表格,建议使用DB空间吧。

编辑按钮“adoqueryedit”;

保存按钮

"adoquerpost";

撤销按钮"adoquerycancel"

FORM2里边只要这三个按钮事件就可以了。

数据库的存储文件是以页为单位(8K)存储在硬盘上

>

以上就是关于sql数据库更新做保存的问题全部的内容,包括:sql数据库更新做保存的问题、sql数据库,怎么另存为、在数据库中存储的是什么(数据库里存储的是什么)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9425537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存