怎样用webapi连接到数据库的数据

怎样用webapi连接到数据库的数据,第1张

先打开vs2010软件,找到项目文件,双击web.config

vs2010中web.config配置数据库连接

第一种:取连接字符串

string

connstring

=

system.web.configuration.webconfigurationmanager.connectionstrings["sqlconnstr"].connectionstring

或者

protected

static

string

connectionstring

=

configurationmanager.connectionstrings["sqlconnstr"].connectionstring

web.config文件:加在</configsections>后面

<connectionstrings>

<remove

name="localsqlserver"

/>

<add

name="sqlconnstr"

connectionstring="user

id=xxpassword=xxinitial

catalog=database_namedata

source=.\sqlxxxx"

/>

</connectionstrings>

vs2010中web.config配置数据库连接

第二种:取连接字符串:

string

myvar=configurationsettings.appsettings["connstring"]

web.config文件:加在<appsettings>和</appsettings>

之间

<appsettings>

<add

key="connstring"

value="uid=xxpwd=xxdatabase=batabase_nameserver=(local)"

/>

</appsettings>

据说两者通用,但是第二种是asp.net2.0的新特性,建议使用第二种。其实我一直有个疑问,两个字符串中的uid;pwd和user

id

password是否等价。根据网上我查到的资料是可以互换通用的。

vs2010中web.config配置数据库连接

连接sql

server数据库的机制与连接access的机制没有什么太大的区别,只是改变了connection对象和连接字符串中的不同参数.

首先,连接sql

server使用的命名空间不是"system.data.oledb",而是"system.data.sqlclient".

其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔): 

"user

id=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa". 

"password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=". 

这里注意,你的sql

server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的sql

server设置为windows登录,那么在这里就不需要使用"user

id"和"password"这样的方式来登录,而需要使用"trusted_connection=sspi"来进行登录.

initial

catalog=northwind":使用的数据源为"northwind"这个数据库.他的别名为"database",本句可以写成"database=northwind". 

"server=yoursqlserver":使用名为"yoursqlserver"的服务器.他的别名为"data

source","address","addr".如果使用的是本地数据库且定义了实例名,则可以写为"server=(local)\实例名"如果是远程服务器,则将"(local)"替换为远程服务器的名称或ip地址. 

"connect

timeout=30":连接超时时间为30秒.

 在这里,建立连接对象用的构造函数为:sqlconnection.

7

最后要保存你所更改的文件,右键

保存(ctrl+s).

在捕获异常的try块中使用

response.redirect()

response.write()response.end()

有时会提示线程已被中止(英文:"Thread was being aborted")错误;(该错误不会每次都产生,在相同地方只是偶尔会出现)

分析该错误的原因是由于执行这两个命令会重新发起一次请求,将当前请求的进程abort掉;通俗点讲就是当进程还想继续执行的时候, 发现自己已经被调用过Abort方法了. 既然自己作为线程已经被中止, 就无法执行了, 于是exception丢了出来。

解决方法有如下三种:

1、将这两个命令放到try/catch块外,不捕获异常就不会提示这个错误;

2、捕获异常时进行判断:

try

{}

catch(Exception e)

{

if(!(ex is System.Threading.ThreadAbortException))

{

//在这里显示错误

}

}

3、捕获进程终止错误不做处理

try

{}

catch (ThreadAbortException)

{ }

catch(Exception ex)

{

//显示错误

}

有网友说可以在Response.Write()前加上Response.Clear()不知道这个方法是否可行;

转自http://www.cnblogs.com/xyd21c/archive/2011/02/24/1963748.html

在iis中选中需要设置的webapi站点,双击“处理程序映射”,在d出框中添加对webapi的请求映射。请求路径:api /*可执行文件:%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll,注意32位和64位路径的区别。名称:webapi,自定义名称即可修改应用程序池的管道模式将webapi的应用程序池的管道模式修改为经典更新dll映射添加之后,访问站点,不会报404错误了,但会报一些dll文件未能加载,一共有4个,名称分别如下:System.Web.WebPages.Deployment.dllMicrosoft.Web.Infrastructure.dllSystem.Web.WebPages.Razor.dllSystem.Web.WebPages.dll将上面四个dll文件复制到webapi站点到bin目录中,问题解决。


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

原文地址:https://54852.com/tougao/7839823.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存