WebForm连接数据库实例
登录页面:用户名文本框、密码文本框、登录按钮
当用户名密码输入正确,点击确定可以跳转到下一个页面
我们需要先引入命名空间:
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
页面代码:
string name = TextBox1.Text.Trim();//获取到文本框中的用户名
string pwd = TextBox2.Text;//获取到文本框中的密码
//连接数据库字段
string sqlcoon = "Data Source=.;Initial Catalog=logis;Integrated Security=True";
string sql = string.Format("select count(*) from User1 where Account=@Account and Password=@Password_");//查询是否有该条记录,根据账户密码
SqlParameter[] par = {
new SqlParameter("@Account",name),
new SqlParameter("@Password_",pwd)
};
using (SqlConnection con = new SqlConnection(sqlcoon))//SqlConnection连接,用using释放连接
{
using (SqlCommand com = new SqlCommand(sql, con))//SqlCommand连接,用using释放连接
{
com.Parameters.AddRange(par);
//打开连接
con.Open();
int resert = Convert.ToInt32(com.ExecuteScalar());
//关闭连接
//con.Close();
//释放连接
// con.Dispose();
if (resert > 0)
{
Response.Redirect("开票界面.aspx");
}
else
{
Label1.Text = "账户名或密码错误!";
}
}
}
知识点:
1.连接数据库字段
//连接数据库字段
string sqlcoon = "Data Source=.;Initial Catalog=logis;Integrated Security=True";
连接数据库字段是根据自己的数据库连接来写的。其中server表示运行Sql Server的计算机名,由于程序和数据库系统是位于同一台计算机的,所以我们可以用.(或localhost)取代当前的计算机名。Date Source表示所使用的数据库名(logis)。integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。
2.查询语句
string sql = string.Format("select count(*) from User1 where Account=@Account and Password=@Password_");
这样写数据库是为了防止恶意攻击数据库。
3.SqlParameter
SqlParameter[] par = {
new SqlParameter("@Account",name),
new SqlParameter("@Password_",pwd)
};
SqlParameter对象在C#中获取存储过程的返回值。利用Add方法和AddRange方法来使用。
4.使用using释放资源
例如:Using(){}
using释放的是非托管资源
close()只是关闭连接,但是通道没有销毁,dispose()不仅把连接给关闭了,而且把通道也给销毁了。
可以用using来代替dispose()
5.ExecuteScalar
SqlCommand对象的三种方法:
(1)判断增删改的ExcuteNonQUery()方法,会在增删改成功之后返回数字
(2)读取sql查询语句的内容使用SqlDataReader()方法
(3)SqlCommand.ExecuteScalar()方法的作用就是
执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他行或列,返回值为object类型
相关文章
- obj-c编程15[Cocoa实例03]:MVC以及归档化示例
- Android实例-操作sqlite数据库之Grid显示图片(XE8+小米2)
- Java I/O学习(附实例和详解)
- JS事件冒泡、停止冒泡、addEventListener--实例演示
- java面向对象高级分层实例_数据库操作类
- java面向对象高级分层实例_数据库操作类
- php异步多线程swoole用法实例
- 关于PHP+jQuery-ui拖动浮动层排序并保存到数据库实例
- 函数计算支持 MySQL 实例绑定
- python使用cPickle模块序列化实例
- Linux平台单实例数据库安装
- 单实例数据库DataGuard主库与备库切换
- Redis+Spring缓存实例(windows环境,附实例源码及详解)
- Centos7.4安装openstack(queens)创建基于vxlan网络的实例
- Hadoop MapReduce实例:按照手机号归属地分区统计手机上网流量(Reduce Task进程数设置)
- 在 xml 视图里指定 SAP UI5 VizType 实例
- Atitit ACID解决方案2PC(两阶段提交) 跨越多个数据库实例的ACID保证
- Qt-sqlite3数据库编程实例
- 实例讲解FusionInsight MRS RTD 实时决策引擎在医保行业应用
- 云小课|云数据库RDS实例连接失败了?送你7大妙招轻松应对
- JDBC选择数据库实例
- JDBC删除数据库实例
- Python数据库连接池实例——PooledDB
- 【数据库管理】②实例管理及数据库启动关闭
- 第二章:实例管理及数据库的启动/关闭
- 数据分析实例-餐饮行业分析
- 安装MySQL数据库8.0服务实例