sql server数据库的连接和调用/datagridview

因为在使用datagridview的时候,vs的服务器资源管理器显示已经连接到sql,但是代码还是不能把数据库中的表显示在datagridview控件上,而且报错是 sa登录失败,但是我确实已经成功连接了sql。所以,新建了一个 【控制台应用程序】,通过try和catch来找到到底是哪个环节出了问题

 

  1. 新建 一个 【控制台应用程序】

 

  1. 代码是否成功连接上了数据库

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Data;

using System.Data.SqlClient;



namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

    

           //用代码连接数据库

            // 第一种连接,sql server的Windows身份验证

            //string ConStr = "server=.;database=StudentStatusDB;Trusted_Connection=SSPI";

           //第二种连接,sql server身份验证

            try

            {

                string ConStr = "server=.;database=test;uid=sa;pwd=123456";

                SqlConnection conn = new SqlConnection(ConStr);

                conn.Open();

                Console.WriteLine("Connected Sql");

            }

            catch (Exception ex)

            {

                Console.WriteLine("Error is "+ex+ "Error" );

            }

            Console.ReadLine();

        }

    }

}

如果try里连接上了就在控制台上显示Connected Sql 如果try里失败了,那就进入catch输出错误类型Error。(最开始接触c#的时候不是很懂为什么有些例程要用try catch语句,觉得没必要,现在才发现try catch语句还挺有用的)

运行之后显示如下,说明连接成功

到这里就能说明,连接部分没问题,那么问题应该是对数据库表的查询和调用,接下来排除查询和调用。

 

2. 是否可以查询到数据库的表

 

功能:查询表Table_1 的Name列的第一行的数据,返回,显示在控制台,如果没有查询到,就报错

代码:   

  try

            {

                //

                string ConStr = "server=.;database=test;uid=sa;pwd=123456";

                SqlConnection conn = new SqlConnection(ConStr);

                conn.Open();

                Console.WriteLine("Connected Sql");



                返回Age列的第一个值 12

                //SqlCommand cmd = new SqlCommand("select Age from Table_1", conn);

                //int count = (int)cmd.ExecuteScalar();

                //string t = Convert.ToString(count);

                //Console.WriteLine("return" + t);



               //返回Name列第一个值 Abb

                SqlCommand cmd = new SqlCommand("select Name from Table_1", conn);

                string str = (string)cmd.ExecuteScalar();

                Console.WriteLine("return" + str);

            }

            catch (Exception ex)

            {

                Console.WriteLine("error"+ex+ "error");

            }



            Console.ReadLine();

运行结果:

 

打开SSMS ,查看表Name列的第一个数是不是Abb

 

 

所以,查询没问题,

 

3. 新建一个窗体应用程序

 

添加datagridview控件

 

在Form.cs里写入连接查询数据的代码(在此之前同样得先用工具栏里的连接数据库连接sql,服务器资源管理器如之前那样显示),并将表Table_1显示在控件Datagridview上

 

需要自己添加引用的命名空间namespace

 

代码:

namespace ApplicationSql

{

    public partial class Form1 : Form

    {
        public Form1()

        {
            InitializeComponent();

            try

            {

                string ConStr = "server=.;database=test;uid=sa;pwd=123456";

                SqlConnection conn = new SqlConnection(ConStr);

                conn.Open();

                Console.WriteLine("Connected Sql");

               // //整个表显示在控件上

                SqlDataAdapter cmd = new SqlDataAdapter("select * from Table_1",conn);

                //创建dataset对象

                DataSet d = new DataSet();

                cmd.Fill(d);

                dataGridView1.DataSource = d.Tables[0].DefaultView;

            }

            catch

            {

            }

        }


    }

}

 

运行结果:

结束。

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值