C#中如何连接数据库并执行SQL语句

开发工具:Visual Studio 2012

数据库: SQL Server 2012

使用Visual Studio时还是直接和微软自家的SQL Server数据库连接比较方便,就像使用Eclipse时和MySQL连接便捷一样的道理

无论使用什么工具步骤都一样:

首先保证相关工具都已经正确安装了
开启数据库连接服务
在开发工具中通过用户名和口令与数据库进行关联
执行SQL语句
关闭相关连接和服务

连接数据库

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
string connectionString="server=.;database=Sql;uid=sa; pwd=123456";
conn.ConnectionString = connectionString;
conn.open();

server=.和server=localhost是一样的意思,都表示连接本地数据库
database后跟数据库的名称
uid和pwd就是你数据库访问时的用户名和口令

到这里就可以查看一下数据库连接的状态,可以直接将当前连接的状态输出查看

Console.Write(conn.State.ToString());

如果执行到这里发现有错误,就需要查看一下数据库安装的版本问题,打开SQL Server配置管理器

这里写图片描述

正常应该是MSSQLSERVER,博主这里为了测试所以安装了一个简化版的SQLEXPRESS,如果你和博主的版本一样就不能使用上面的连接数据库的方式了

SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = @"(local)\SQLExpress";
scsb.IntegratedSecurity = true;
scsb.InitialCatalog = sqlName;
SqlConnection conn = new SqlConnection(scsb.ConnectionString);
conn.open();
正确连接数据库后,就可以执行SQL语句了
string sqlStr = "SELECT * FROM table1";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
int i = Convert.ToInt32(cmd.ExecuteNonQuery());
Console.Write("共有" + i.ToString() + "条数据");
string sqlStr = "INSERT INTO table1 VALUES('1','a')";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
SqlDataReader dataReader = cmd.ExecuteReader();
if(dataReader.HasRows)
{
    while(dataReader.Read())
    {
        for(int i=0; i<dataReader.FieldCount; i++)
        {
            Console.Write(dataReader[i].ToString()+"\t");
        }
    }
}
int i = Convert.ToInt32(cmd.ExecuteNonQuery());
Console.Write("共有" + i.ToString() + "条数据");
最后别忘了关闭数据库连接
conn.Close();
  • 12
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值