在C#中用Membership时遇到了这个问题,如下
找不到存储过程 ‘dbo.aspnet_CheckSchemaVersion’
根据提示,通过数据库管理器建立这个存储过程就OK了,这个方法这里不提。但因为数据库是新建的,所以很可能有很多相关的存储过程都没有。于是找到了一下的方法:
运行C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe ASP.NET SQL Server数据库安装向导来进行配置。
通过配置对应的数据库即可,问题解决。
C#用Membership功能时报了这么个错误
找不到存储过程 ‘dbo.aspnet_Membership_GetUserByUserId’
根据提示,很显然数据库里缺少响应的存储过程,用数据库管理器打开对应的数据库执行以下sql语句即可。
阅读全文…
数据库设计范式是关系型数据库的设计准则。其目的在于通过规划设计使得数据库结构合理,尽量减少数据冗余,消除存储异常,方便数据的插入、更新和删除操作。目前常用范式包括1NF(第一范式)、2NF(第二范式)、3NF(第三范式)和BCNF(鲍依斯-科得范式)。
1NF 第一范式
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
也可表述为:数据库表中的字段都是单一属性的,不可再分。
比如“地址”属性应该拆分为“城市”、“区县”、“具体地址”便于使用。
阅读全文…
对数据表中的行列进行互换,实际开发中用到的一个技巧。直接通过sql语句实现,比起先用sql获取数据再通过其他代码进行行列转换要方便很多。
看到一段很好的参考代码,摘录学习:
阅读全文…
利用一条SQL语句从数据库Table表中随机获取N条记录,各数据库的SQL语句略有不同,如下:
1、MySql
Select * From TABLE Order By Rand() Limit N
以上代码效率不高,自己对1000条数据表随机取10条的测试结果为耗时0.125s,有网友推荐改为以下代码效率有大幅提高,耗时为0.005s,不过结果是随机从某个位置开始取N条记录,而不是随机取N条记录,略有差异。详细说明见mysql使用rand随机查询记录效率测试。
SELECT * FROM `TABLE` a join (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `TABLE`)-(SELECT MIN(id) FROM `TABLE`))+(SELECT MIN(id) FROM `TABLE`)) AS id) AS b WHERE a.id >= b.id ORDER BY a.id LIMIT N;
2、SQL Server
Select TOP N * From TABLE Order By NewID()
阅读全文…
一个SQL查询问题,表T有字段a、字段b、字段c等多个字段,其中中字段a在不同数据行中有重复;要求获取多个数据行,每个不同的字段a值对应一个数据行,每个数据行为包含相同字段a值的数据行取字段b值最小的一行)。
举例来说,从文章评论表获取每篇文章的第一条评论,显示需要只取从第2条开始的前2条,表comment内容如下
阅读全文…
源于一个遇到的实际问题,抽象一下,表述问题如下:
有两张表main和attachment,其中attachment表的mianid字段对应到main表的mainid字段,如下
main表
| mainid |
submittime |
| 1 |
2010-1-3 |
| 2 |
2010-1-5 |
| 3 |
2010-1-7 |
阅读全文…
近期评论