导航:首页 > 编程大全 > webapi查询数据库

webapi查询数据库

发布时间:2021-12-03 08:31:23

『壹』 如何使用mvc实现webapi的增删改查

1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api;
2.注册路由:
路由表中的每一个条目都包含一个路由模板。这个Web API默认的路由模版是"api/{controller}/{id}"。在这个模版中,“api”是一个文字式路径片段,而{controller}和{id}则是占位符变量。
当Web API框架接收一个HTTP请求时,它会试图根据路由表中的一个路由模板来匹配其URI。如果无路由匹配,客户端会接收到一个404(未找到)错误。
3.linq to sql连接数据库
1.建立数据库建表
2.在models文件夹里面新建linq to sql类文件
3.工具->连接到数据库
4.将要用的表拖入设计区

5.获取数据库Getway。"linq to sql class"文件名+Datacontext实例化这个对象,数据表就会映射到一个集合属性中,personDataDataContext db = new personDataDataContext();
6.增删改查
增:
public Boolean Post([FromBody]UserInfo userInfo) {
personDataDataContext db = new personDataDataContext();
var s1 = new test2
{
UserName =userInfo.UserName, Id=userInfo.Id, Age=userInfo.Age
};
if (db.test2.SingleOrDefault<test2>(s => s.Id == userInfo.Id) == null)
{
db.test2.InsertOnSubmit(s1);
db.SubmitChanges();
return true;
} else {
return false;
}
}
删:
public bool Delete(int id)
{
personDataDataContext db = new personDataDataContext();
var deleteperson = db.test2.SingleOrDefault<test2>(s => s.Id == id);
if (deleteperson == null)
{
return false;
} else {
db.test2.DeleteOnSubmit(deleteperson);
db.SubmitChanges();
return true;
}
}
改:
public Boolean Put(int id, [FromBody]UserInfo userInfo)
{
personDataDataContext db = new personDataDataContext();
var editperson = db.test2.SingleOrDefault<test2>(s => s.Id == userInfo.Id);
if (editperson == null)
{
return false;
} else {
editperson.Age = userInfo.Age;
editperson.UserName = userInfo.UserName;
db.SubmitChanges();
return true;
}
查:
public IEnumerable<test2> Get()
{
personDataDataContext db = new personDataDataContext();
var query = from s in db.test2
orderby s.UserName
select s;
return query;
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
这里我新建了一个userinfo类
public class UserInfo { public string UserName { get; set; } public int Id { get; set; } public int Age { get; set; } }
用来接收前端页面ajax请求中的data数据,s => s.Id == userInfo.Id是lamda表达式创建委托方法意思是在db.test2的person集合中查找某个person的Id与userinfo接收到的id相等的person对象

『贰』 .net webAPI+NHibernate,调用get方法查询数据库的时候总是报错,"无效操作。连接被关闭。"

//Service.CreateSession();
很明显一些关键方法被屏蔽掉了,这里是创建session的,而且另外一个触发方法有事务提交的地方也被屏蔽了,建议你能打个断点调试下一切就明了了

『叁』 WebApi里是不是带有这样的数据库连接写法就不能识发布IIS后会报500

一般是程序运行异常了导致500,你在代码里try catch一下把错误日志打出来基本就知道问题了。webapi是运行在w3wp进程里的,所以权限与你直接运行exe时不同,有可能是权限问题导致异常

『肆』 c# .net webapi webapi到底可以做什么除了响应客户端的响应对数据库的增删改查

  1. 主要就是交互

  2. 所有的交互,都是增删改查啊

『伍』 HTML5 Web SQL 数据库怎样实现多表查询

HTML5的Web SQL Databases(html5 本地数据库)的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的。今天,我们一起来了解HTML 5的Web SQL Database API:openDatabase、transaction、executeSql。

Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范。它通过一套API来操纵客户端的数据库。Safari、Chrome、Firefox、Opera等主流浏览器都已经支持Web SQL Database。HTML5的Web SQL Databases的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的。今天,我们一起来了解HTML 5的Web SQL Database API。

下面将一一将介绍怎样创建打开数据库,创建表,添加数据,更新数据,删除数据,删除表 。

先介绍三个核心方法

1、openDatabase:这个方法使用现有数据库或创建新数据库创建数据库对象。

2、transaction:这个方法允许我们根据情况控制事务提交或回滚。

3、executeSql:这个方法用于执行真实的SQL查询。

第一步:打开连接并创建数据库

代码如下:

var dataBase = openDatabase("student", "1.0", "学生表", 1024 * 1024, function () { });
if (!dataBase) {
alert("数据库创建失败!");
} else {
alert("数据库创建成功!");
}

解释一下openDatabase方法打开一个已经存在的数据库,如果数据库不存在,它还可以创建数据库。几个参数意义分别是:
1,数据库名称。
2,版本号 目前为1.0,不管他,写死就OK。
3,对数据库的描述。
4,设置数据的大小。
5,回调函数(可省略)。
初次调用时创建数据库,以后就是建立连接了。
创建的数据库就存在本地,路径如下:
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\databases\http_localhost_4987 。
创建的是一个sqllite数据库,可以用SQLiteSpy打开文件,可以看到里面的数据。SQLiteSpy是一个绿色软件,可以网络一下下载地址或SQLiteSpy官方下载:SQLiteSpy。

第二步:创建数据表

代码如下:

this.createTable=function() {
dataBase.transaction( function(tx) {
tx.executeSql(
"create table if not exists stu (id REAL UNIQUE, name TEXT)",
[],
function(tx,result){ alert('创建stu表成功'); },
function(tx, error){ alert('创建stu表失败:' + error.message);
});
});
}

解释一下,
executeSql函数有四个参数,其意义分别是:
1)表示查询的字符串,使用的SQL语言是SQLite 3.6.19。
2)插入到查询中问号所在处的字符串数据。
3)成功时执行的回调函数。返回两个参数:tx和执行的结果。
4)一个失败时执行的回调函数。返回两个参数:tx和失败的错误信息。

第三步:执行增删改查

1)添加数据:

代码如下:

this.insert = function () {
dataBase.transaction(function (tx) {
tx.executeSql(
"insert into stu (id, name) values(?, ?)",
[id, '徐明祥'],
function () { alert('添加数据成功'); },
function (tx, error) { alert('添加数据失败: ' + error.message);
} );
});

2)查询数据

代码如下:

this.query = function () {
dataBase.transaction(function (tx) {
tx.executeSql(
"select * from stu", [],
function (tx, result) { //执行成功的回调函数
//在这里对result 做你想要做的事情吧...........
},
function (tx, error) {
alert('查询失败: ' + error.message);
} );
});
}

解释一下
上面代码中执行成功的回调函数有一参数result。

result:查询出来的数据集。其数据类型为 SQLResultSet ,就如同C#中的DataTable。
SQLResultSet 的定义为:

代码如下:

interface SQLResultSet {
readonly attribute long insertId;
readonly attribute long rowsAffected;
readonly attribute SQLResultSetRowList rows;
};

其中最重要的属性—SQLResultSetRowList 类型的 rows 是数据集的“行” 。
rows 有两个属性:length、item 。
故,获取查询结果的某一行某一列的值 :result.rows[i].item[fieldname] 。

3)更新数据

代码如下:

this.update = function (id, name) {
dataBase.transaction(function (tx) {
tx.executeSql(
"update stu set name = ? where id= ?",
[name, id],
function (tx, result) {
},
function (tx, error) {
alert('更新失败: ' + error.message);
});
});
}

4)删除数据

代码如下:

this.del = function (id) {
dataBase.transaction(function (tx) {
tx.executeSql(
"delete from stu where id= ?",
[id],
function (tx, result) {
},
function (tx, error) {
alert('删除失败: ' + error.message);
});
});
}

5)删除数据表

代码如下:

this.dropTable = function () {
dataBase.transaction(function (tx) {
tx.executeSql('drop table stu');
});
}

『陆』 webapp 是直接连接数据库好还是连接webapi好

什么是长连接?
其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态。
通常的短连接操作步骤是:
连接-》数据传输-》关闭连接;
而长连接通常就是:
连接-》数据传输-》保持连接-》数据传输-》保持连接-》…………-》关闭连接;
这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了
什么时候用长连接,短连接?
长连接主要用于在少数客户端与服务端的频繁通信,因为这时候如果用短连接频繁通信常会发生Socket出错,并且频繁创建Socket连接也是对资源的浪费。
但是对于服务端来说,长连接也会耗费一定的资源,需要专门的线程(unix下可以用进程管理)来负责维护连接状态。
总之,长连接和短连接的选择要视情况而定。

『柒』 web访问数据库的一般过程

先建立数据库动态语言连接数据库像数据库提交SQL语句数据库返回数据集合,或者是更新数据关闭数据库连接结束

『捌』 webapi的webconfig怎样配置数据库连接

先打开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=xx;password=xx;initial catalog=database_name;data source=.\sqlxxxx" /> </connectionStrings>
VS2010中web.config配置数据库连接
第二种:取连接字符串:
string myvar=configurationsettings.appsettings["connstring"];
web.config文件:加在<appsettings>和</appsettings> 之间
<appsettings> <add key="connstring" value="uid=xx;pwd=xx;database=batabase_name;server=(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).

『玖』 如何拥有的WebAPI查询字符串参数绑定諹TC日期

参数化查询(Parameterized Query 或 Parameterized Statement)是访问数据库时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值。

在使用参数化查询的情况下,数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成SQL指令的编译后,才 套用参数运行,因此就算参数中含有指令,也不会被数据库运行。Access、SQL Server、MySQL、SQLite等常用数据库都支持参数化查询
字符拼接查询容易写错代码,查错比较困难。代码比较复杂!

『拾』 怎样用webapi连接到数据库的数据

先打开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=xx;password=xx;initial
catalog=database_name;data
source=.\sqlxxxx"
/>
</connectionstrings>
vs2010中web.config配置数据库连接
第二种:取连接字符串:
string
myvar=configurationsettings.appsettings["connstring"];
web.config文件:加在<appsettings>和</appsettings>
之间
<appsettings>
<add
key="connstring"
value="uid=xx;pwd=xx;database=batabase_name;server=(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).

阅读全文

与webapi查询数据库相关的资料

热点内容
西青大数据 浏览:457
2016支付宝vs微信 浏览:745
移动g2f怎么进入3g网络 浏览:435
linux配置阿帕奇 浏览:18
音乐标签id3修改工具 浏览:589
数据频繁变化是什么 浏览:977
iphone来电壁纸 浏览:40
删除文件夹找不到指定路径怎么办 浏览:487
原力大数据招聘 浏览:479
数据线圆头什么意思 浏览:768
协和app怎么取号 浏览:664
c坐标转换代码 浏览:707
唐筛数据为什么能看出男女 浏览:44
快手java 浏览:835
qq分享的文件在哪里 浏览:226
爱念电影 浏览:656
97不用下载播放器的 浏览:649
在线观看0855影视 浏览:489
女主叫向晚棠的小说 浏览:841
uglifyjs使用 浏览:328

友情链接