using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient;
namespace hetaoTest { public partial class Form1 : Form { static SqlConnection conn = null; public Form1() { InitializeComponent(); }
private void textBox1_TextChanged(object sender, EventArgs e) {
} /// <summary> /// 添加的方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { try {
{ string conStr = "Data Source=127.0.0.1;Initial Catalog=TestDB;Integrated Security=True"; conn = new SqlConnection(conStr); conn.Open(); SqlCommand cmd = conn.CreateCommand(); //-----------------------------添加方法1----------------------------- //cmd.CommandText = "insert into T_UserName(name,age)Values('" + txtName.Text.Trim() + "','" // + txtAge.Text.Trim() + "')"; //-----------------------------添加方法2----------------------------- cmd.CommandText = "INSERT INTO T_UserName(name,age)VALUES(@name,@age)"; //cmd.Parameters.AddWithValue("@name",txtName.Text.Trim()); //cmd.Parameters.AddWithValue("@age",txtAge.Text.Trim()); //-----------------------------添加方法3----------------------------- cmd.Parameters.Add("@name", SqlDbType.VarChar); cmd.Parameters["@name"].Value = txtName.Text.Trim();
cmd.Parameters.Add("@age", SqlDbType.VarChar); cmd.Parameters["@age"].Value = txtAge.Text.Trim(); if (MessageBox.Show("确定添加么?", "My Application", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
cmd.ExecuteNonQuery(); }
} } catch(Exception ex) { MessageBox.Show(ex.Message); } }
/// <summary> /// 使用sqlcommand对象来返回数据集合的方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e) { string connStr = "Data Source=127.0.0.1;Initial Catalog=TestDB;Integrated Security=True"; string SqlStr = "SELECT * FROM T_UserName"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = SqlStr;
//int flat = (int)(cmd.ExecuteScalar()); //MessageBox.Show(Convert.ToString(flat));
SqlDataAdapter adp = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); adp.Fill(dt);
dataGridView1.DataSource = dt;
}
/// <summary> /// ///使用sqlcommand对象来返回SQL执行正确与否 /// </summary> /// <param name="sender"></param> /// <param name="e"></param>
private void btnScan1_Click(object sender, EventArgs e) { string connStr = "Data Source=127.0.0.1;Initial Catalog=TestDB;Integrated Security=True"; string sqlStr = "SELECT * FROM T_UserName1"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = sqlStr; try { cmd.ExecuteNonQuery(); MessageBox.Show("成功查询", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); }
catch { MessageBox.Show("查询失败", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question); } }
private void button2_Click(object sender, EventArgs e) { Application.Exit(); }
/// <summary> /// 使用sqlcommand对象来操作存储过程 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button4_Click(object sender, EventArgs e) { string strconn = "Data Source=127.0.0.1;Initial Catalog=TestDB;Integrated Security=True"; SqlConnection conn = new SqlConnection(strconn); conn.Open(); SqlCommand sqlcmd = new SqlCommand(); sqlcmd.CommandText = "a"; sqlcmd.CommandType = CommandType.StoredProcedure; sqlcmd.Connection = conn; //sqlcmd.Parameters.Add("@param1", textBox1.Text.Trim()); //sqlcmd.Parameters.Add("@param2", textBox2.Text.Trim()); //sqlcmd.Parameters.Add("@param3", textBox3.Text.Trim());
SqlDataAdapter adp = new SqlDataAdapter(sqlcmd); DataTable dt = new DataTable(); adp.Fill(dt); dataGridView1.DataSource = dt; }
private void button3_Click(object sender, EventArgs e) { string connStr = "Data Source=127.0.0.1;Initial Catalog=TestDB;Integrated Security=True"; string SqlStr = "SELECT * FROM T_UserName"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd =new SqlCommand(SqlStr,conn);
SqlDataReader dr = cmd.ExecuteReader();//返回只能读取,不能写入的SqlDataReader对象
while (dr.Read()) { MessageBox.Show("ID:"+dr.GetValue(0)+" Name: "+dr.GetValue(1)+" Age: "+dr.GetValue(2)+" Sex: "+dr.GetValue(3)); }
} /// <summary> /// ExecuteNonQuery方法 ///一般修改,删除,插入都用它 ///返回受影响的行数。 /// sql="update 表 set 栏位1=值1,栏位2=值2 where (条件);" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button5_Click(object sender, EventArgs e) { string connStr = "Data Source=127.0.0.1;Initial Catalog=TestDB;Integrated Security=True"; string sqlStr = "Update T_UserName set name='Admin',Age='100',Sex='男' where(ID=66)"; SqlConnection conn = new SqlConnection(connStr); conn.Open(); SqlCommand cmd = new SqlCommand(sqlStr,conn); cmd.ExecuteNonQuery(); MessageBox.Show("修改成功!"); } } }
ExecuteScalar方法
执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
using System; using System.Data.SqlClient; public class Lvcha { public static void Main(string[] args) { string source="Server =192.168.1.100; User ID=ac_sy_guest; Password=guest1314; Initial CataLog=Account"; string select="select count(*) from dbUser"; SqlConnection conn=new SqlConnection(source); conn.Open(); SqlCommand cmd=new SqlCommand(select,conn); object o=cmd.ExecuteScalar(); Console.WriteLine(o); Console.ReadLine(); } }
ExecuteNonQuery用于执行不返回任何记录的SQL语句或存储过程。在数据库执行如更新、插入、删除操作时,应使用这个方法。ExecuteNonQuery返回一个整数值,用来说明受查询语句影响的行数。 connection.Open(); command.ExecuteNonQuery(); command.Close();
ExecuteScalar与ExecuteNonQuery一样,其返回的也是单值,但该返回值是从数据库中读出来的,而不是受影响的行数。它通常用于选择一个值的SQL语句。如果SELECT返回多行或多列,则使用该方法仅返回第一行第一列的数据。
ExecuteReader被用于返回多条记录的SELECT语句(包含任意个字段)。ExecuteReader将返回一个包含查询结果的SqlDataReader对象。一个SqlDataReader对象是以顺序向前且只读的形式逐个读取并返回结果的。SqlDataReader是数据库中读取数据最快的对象,但必须打开连接。通过SqlDataReader取回所有的记录,并把它们存入DataTable对象中(它可以存储离线数据而不需要一个打开的连接),这样就可以马上关闭数据库连接了。DataTable类可以存放本地的结果集而不需要一个打开的SQL Server连接,和其它的ADO.NET对象一样,它也不是特定于某种数据提供程序的。
conn.Open(); SqlDataReader reader = comm.ExecuteReader(); DataTable table = new DataTable(); table.Load(reader); reader.Close(); conn.Close();
|
请发表评论