C# 简单数据库编程

连接数据库:
string strcon="";
sqlconnection sqlcon=new sqlconnection(strcon);
try
            {
                sqlcon.Open();
                MessageBox.Show("连接数据库成功!", "连接对话框");
            }
            catch (SqlException sql)
            {
                MessageBox.Show(sql.Message, "连接失败对话框");
            }
            sqlcon.Close();
DataSet 作用:DataSet,DataAdapter读取数据。 问:什么是DataAdapter? 答:DataAdapter对象在DataSet与数据之间起桥梁作用 string strConn="uid=账号;pwd=密码;database=数据库;server=服务器";//SQL Server链接字符串 SqlConnection ConnSql=new SqlConnection (strConn); //Sql链接类的实例化 ConnSql.Open ();//打开数据库 string strSQL="SELECT * FROM 表名1 "; //要执行的SQL语句 SqlDataAdapter da=new SqlDataAdapter(strSQL,ConnSql); //创建DataAdapter数据适配器实例 DataSet ds=new DataSet();//创建DataSet实例 da.Fill(ds,"自定义虚拟表名");//使用DataAdapter的Fill方法(填充),调用SELECT命令 ConnSql.Close ();//关闭数据库
 
C# datagridview里面的数据显示到textbox里面
string ConStr = "initial catalog=Student;Data source=.;integrated security=sspi;"; SqlConnection connection = new SqlConnection(ConStr);//连接数据库 string sql = string.Format("select * from info where stuno={0}",txtRNo.Text);//sql语句 connection.Open();//打开数据库 SqlDataAdapter Adapter = new SqlDataAdapte(sql,Dbconnection.connection); DataSet dataset = new DataSet(); Adapter.Fill(dataset); dgvShowInfo.DataSource=dataset.Tables[0]; DataTable table =dataset.Tables[0]; txtRName.Text = table.Rows[0]["StuName"].ToString(); //数据在文本框中显示
 
将当前选中的单元格内容显示在textbox中: private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { if (this.dataGridView1.Rows.Count > 0) { this.textbox1.Text = this.dataGridView1.Rows[this.dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString(); } }
//
txtBox1.Text = dataGridView1.SelectedCells[0].Value.ToString();
 
using  System;

using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default System.Web.UI.Page 
{
    
protected void Page_Load(object sender, EventArgs e)
    {
        
//-------------------SqlConnection,SqlCommand,SqldataReader的用法-------------------//

        
//下面的4种形式等价,如果你的数据库是Windows连接方法,直接把连接字符串改成"server=.;database=northwind;integrated security=true;"
        
//如果你的数据库是某个实例名,直接把"server=."改成"server=你的计算机名实例名"就可以了

        SqlConnection con 
= new SqlConnection();

        con.ConnectionString = "server=.;database=northwind;uid=sa;pwd=;" //双引号中的最后一个分号可以去掉

 

       // con.ConnectionString =   @"Data Source=2A2C159BCB03497\SQLEXPRESS;Initial Catalog=MusicNetwork;Integrated Security=True"; //如果是系统验证

        con.Open();
        SqlCommand cmd 
= con.CreateCommand();
        cmd.CommandText 
= "select from customers";
        SqlDataReader sdr 
= cmd.ExecuteReader();
        
this.GridView1.DataSource = sdr;
        
this.GridView1.DataBind();
        sdr.Close();
        con.Close();

        
//SqlConnection con new SqlConnection();
        
//con.ConnectionString "server=.;database=northwind;uid=sa;pwd=;";   //双引号中的最后一个分号可以去掉
        
//con.Open();
        
//SqlCommand cmd new SqlCommand("select from customers");
        
//cmd.Connection con;
        
//SqlDataReader sdr cmd.ExecuteReader();
        
//this.GridView1.DataSource sdr;
        
//this.GridView1.DataBind();
        
//sdr.Close();
        
//con.Close();


        
////我最经常用这一种,同时连接对象是整个程序的公共对象,所以我一般会把数据库连接封装到一个类中,这样就可以在程序的任何地方随时调用
        //SqlConnection con new SqlConnection("server=.;database=northwind;uid=sa;pwd=;"); //双引号中的最后一个分号可以去掉
        
//con.Open();
        
//SqlCommand cmd new SqlCommand("select from customers", con);
        
//SqlDataReader sdr cmd.ExecuteReader();
        
//this.GridView1.DataSource sdr;
        
//this.GridView1.DataBind();
        
//sdr.Close();
        
//con.Close();

        
//SqlConnection con new SqlConnection();
        
//con.ConnectionString "server=.;database=northwind;uid=sa;pwd=;";   //双引号中的最后一个分号可以去掉
        
//con.Open();
        
//SqlCommand cmd new SqlCommand();
        
//cmd.Connection con;
        
//cmd.CommandText "select from customers";
        
//cmd.CommandType CommandType.Text;  //这条语句是多余的,因为默认就是Text 
        
//SqlDataReader sdr cmd.ExecuteReader();
        
//this.GridView1.DataSource sdr;
        
//this.GridView1.DataBind();
        
//sdr.Close();
        
//con.Close();

 

 

ADO.NET中SqlCommand对数据库操作
 
    我们要不断地进行数据库的读写,那么ExecuteNonQuery(),ExecuteReader()与ExecuteScalar()就是我们在对数据库进行操作时要用到的,下面我来依次认识一下:
    ExecuteNonQuery():这个东东可以让我们在更新数据库时不使用 DataSet 而使用 ExecuteNonQuery 更改数据库中的数据。通过执行 UPDATE、INSERT 或 DELETE SQL语句就可以达到更改数据库中的数据目的。即使 ExecuteNonQuery 不返回任何行,映射到参数的输出参数或返回值仍然使用数据填充。但对于 UPDATE、INSERT 和 DELETE SQL语句,返回的值就是受ExecuteNonQuery()命令影响的行数。对其它类型的语句以及回退来说,返回的值都是 -1。
   ExecuteReader():我们通常在asp中用Recordset对象来从数据库中读出数据,并且用循环语句来一个一个的读出数据,但在我们的ADO.NET中,我们就是用DataReader 对象的ExecuteReader()方法来进行数据的列出,并且我们用这个ExecuteReader()方法来显示数据是最快的一种方法,因为当我们在用ExecuteReader()方法中的DataReader 对象来进行数据的在网站建设中显示时,他只可以一条一条向前读,不能返回,也就是像ASP中的ADO方法中的Recordset 对象的Movenext一样,他没有move -1这样的返回方法。
    ExecuteScalar():这种CMD相当于我们在ADO中用SQL语句中使用一些计算函数的功能一样,在这里我们只是返回所有影响的行数的第一行第一列数据,这样也就是相当于专业为我们的如:select count(*) from database的功能一样,我们可以用
string sql="select from  database" 
SqlCommand cmd=SqlCommand(sql,conn) 
int i=(int)cmd.ExecuteScalar() 

这样我们的局部变更i的值就是与上面我的功能一样.
    最后值得一说的是:这是出自我平时所用的时候的一些认识:那就是如果我们在进行数据操作时,如果没有数据可操作,那么我们只能使用ExecuteReader()这个CMD,而executeNoeQuery()与Executescalar()如果在没有数据的时候使用时,就会出错“对像没有实例化”的错误。所以我们在判断是否有数据时,只可以用ExecuteReader()中的REad()方法来检测。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值