求一个C#访问数据库学习的例子...
求一个C#访问数据库学习的例子...
数据库为SQL Server 2000
对数据的访问包括数据检索,获取数据,并增删改基本数据操作。
[解决办法]
这个太简单了,随便找本书看看吧
[解决办法]
try
{
SqlConnection sqlConnection1=new SqlConnection("Data Source=.;Initial Catalog=Hemis;Integrated Security=True");
sqlConnection1.Open();
SqlCommand sqlCommand1=sqlConnection1.createcommand();
string fn = "insert into tongxunlu values('" + this.name.Text + "','" + this.sex.Text + "',";
fn += "'" + this.birthday.Text + "','" + this.telephone.Text + "','" + this.address.Text + "','" + this.QQ.Text + "','" + this.Email.Text + "')";
//将新建的记录添加到数据库中
sqlCommand1.CommandText = fn;
int n = sqlCommand1.ExecuteNonQuery();
MessageBox.Show("添加记录成功!");
sqlConnection1.Close();
}
catch (Exception Err)
{
if (sqlConnection1.State == ConnectionState.Open)
{
sqlConnection1.Close();
}
MessageBox.Show(Err.Message);
}
更新的sql语名,参考: sqlCommand1.CommandText = "update tongxunlu set 性别='" + this.sex.Text + "',出生日期='" + this.birthday.Text + "',电话='" + this.telephone.Text + "',家庭住址='" + this.address.Text + "',QQ='" + this.QQ.Text + "',Email='" + this.Email.Text + "' where 姓名='" +this.name.Text + "'";
[解决办法]
SqlConnection con;
con=new SqlConnection("server=.;database=servername;uid=sa;pwd=sa;");
Sqlcommand updatecommand=new Sqlcommand("update Tongxunlu set name=@name,pwd=@pwd");//增加、删除、修改就在Sqlcommand里用SQL语句
updatecommand.Connection=con;
updatecommand.Parameters.add(new sqlpatameter("@name",SqlDbType.Nchar,10));
updatecommand.Parameters.add(new sqlpatameter("@pwd",SqlDbType.Nchar,20));
updatecommand.Parameters["@name"].Values=TextBox1.Text;
updatecommand.Parameters["@pwd"].Values=TextBox2.Text;
con.open();
updateCommand.ExecuteNonQuery();
con.close();
[解决办法]
http://dotnet.aspx.cc/article/8ade535f-ad40-4de3-a962-a64b4faf12c4/read.aspx
利用DataGrid编辑、修改、删除记录
[解决办法]
可以上msdn学习
[解决办法]
楼主的问题可以写一本书
[解决办法]
http://asp.51aspnet.net/bbs/checkasp.asp?id=420
看下这里~
[解决办法]
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
connection.Close();
throw new Exception(E.Message);
}
}
}
}
SQL语句中可以满足你所有的操作.
[解决办法]
using System;using System.Data;using System.Configuration;using System.Data.SqlClient;namespace Study{ /// <summary> /// 对数据库的常用操作的封装 /// </summary> public class DbTool { private string connectionString; /// <summary> /// 数据库连接字符串 /// </summary> public string ConnectionString { get { return connectionString; } set { connectionString = value; } } /// <summary> /// 空构造函数,需要实例化之后指定数据库连接字符串 /// </summary> public DbTool() { } /// <summary> /// 构造函数 /// </summary> /// <param name="connectionString">数据库连接字符串</param> public DbTool(string connectionString) { this.connectionString = connectionString; } /// <summary> /// 根据SQL查询语句返回结果集 /// </summary> /// <param name="sql">SQL查询语</param> /// <returns></returns> public DataTable GetDataTable(string sql) { SqlConnection connection = new SqlConnection(connectionString); DataTable data = new DataTable(); using (connection) { SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); adapter.Fill(data); adapter.Dispose(); } return data; } /// <summary> /// 根据SQL查询语句返回结果集 /// </summary> /// <param name="sql">SQL查询语</param> /// <param name="startIndex">返回的记录在结果集中的起始为止</param> /// <param name="size">返回的记录总条数</param> /// <returns></returns> public DataTable GetDataTable(string sql, int startIndex, int size) { SqlConnection connection = new SqlConnection(connectionString); DataTable data = new DataTable(); using (connection) { SqlDataAdapter adapter = new SqlDataAdapter(sql, connection); adapter.Fill(startIndex, size, data); adapter.Dispose(); } return data; } /// <summary> /// 执行指定的进行增删改SQL语句,并根据受影响的行数情况来判断时候执行成功 /// </summary> /// <param name="sql">指定的进行增删改SQL语句</param> /// <returns></returns> public bool ExecuteNonQuery(string sql) { SqlConnection connection = new SqlConnection(connectionString); DataTable data = new DataTable(); int count = 0; using (connection) { SqlCommand command = new SqlCommand(sql, connection); connection.Open(); count = command.ExecuteNonQuery(); } return count > 0; } /// <summary> /// 根据指定的SQL查询语句返回结果集的第一行第一列 /// </summary> /// <param name="sql">SQL查询语句</param> /// <returns></returns> public object ExecuteScalar(string sql) { SqlConnection connection = new SqlConnection(connectionString); DataTable data = new DataTable(); object result = null; using (connection) { SqlCommand command = new SqlCommand(sql, connection); connection.Open(); result = command.ExecuteScalar(); } return result; } /// <summary> /// 根据指定的统计语句查询表中符合条件的记录条数 /// </summary> /// <param name="sql">SQL查询语句</param> /// <returns></returns> public int GetTableResultCount(string sql) { SqlConnection connection = new SqlConnection(connectionString); DataTable data = new DataTable(); int count = 0; using (connection) { SqlCommand command = new SqlCommand(sql, connection); connection.Open(); count = int.Parse(command.ExecuteScalar().ToString()); } return count; } }}
[解决办法]
asp.net夜话之七:ADO.NET介绍
ADO.NET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性和可伸缩的数据访问。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO .NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。以前做数据库访问的时候,需要一直与数据库保持连接,直到获取完所有满足需要的数据之后才会断开数据库连接,这种数据库访问方式称之为连接式数据访问技术。相比于以前的连接式数据访问技术,ADO.NET除了提供连接式数据访问技术之外,还提供了另一种断开式解决方案,那就是在内存中模拟一个数据库,也就是内存中的数据库。我们知道在实际的数据库技术中,每个数据库就是一个业务逻辑单元,一般来说这个数据库包含了实现一个应用软件或者一个网站所需要的全部数据。
http://blog.csdn.net/zhoufoxcn/archive/2008/10/13/3066799.aspx
建议你看看本人写的这篇文章。专门讲述对数据库操作的。
[解决办法]
哇,楼上都那么多见解,看来分数难拿了,不这模式就是连接字符串,连接,打开连接,command命令执行SQL语句,用DataViewa或相关控件绑定数据显示出来,这样就行了,再基础点的看看书就会了。
[解决办法]
private static void ReadOrderData(string connectionString){ string queryString = "SELECT OrderID, CustomerID FROM dbo.Orders;"; using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand( queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader[0], reader[1])); } } finally { // Always call Close when done reading. reader.Close(); } }}
[解决办法]
执行insert,update,delete
看下面语句.
private static void CreateCommand(string queryString, string connectionString){ using (SqlConnection connection = new SqlConnection( connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Connection.Open(); command.ExecuteNonQuery(); }}
[解决办法]
有意思..
[解决办法]
哎,来晚了,呵呵。
[解决办法]
简单写了一个示例 我在程序中加入了汉字编码 我的IDE支持这样写 为的是你轻松明白运行机制 如果你的IDE不支持汉字编码 把程序里的汉字用字母代替就行
public class 数据库操作 { private string 数据库连接字符串 = "DataBase=CHARGEFORWARD;DataSourse=vv;Integrated Security=True"; public string 查询表() { string 操作结果 = null; string 查询操作 = "select * from kkk where id=1";//取出表kkk列id值为1的那一行 SqlConnection 连接数据库 = new SqlConnection(数据库连接字符串); SqlCommand 查询命令 = new SqlCommand(查询操作,连接数据库); 连接数据库.Open(); //打开数据库连接 SqlDataReader 执行查询命令 = 查询命令.ExecuteReader(); while (执行查询命令.Read()) { 操作结果 = 执行查询命令["id"].ToString();// ["id"]表示只取此列中符合条件的值 } 执行查询命令.Close(); 连接数据库.Close(); return 操作结果; } public void 修改表() { string 修改值 = "2"; string 修改操作 = "update kkk set id=@para where id=1";//para在此是一个参数 下面会给它赋值 SqlConnection 连接数据库 = new SqlConnection(数据库连接字符串); SqlCommand 查询命令 = new SqlCommand(修改操作, 连接数据库); 查询命令.Parameters.Add("@para",修改值);//将2传给参数para 连接数据库.Open(); 查询命令.ExecuteNonQuery();//执行查询语句 连接数据库.Close(); } public void 向表中插入数据() { string 插入数据 = "insert into kkk ('id') values(@para)"; SqlConnection 连接数据库 = new SqlConnection(数据库连接字符串); SqlCommand 查询命令 = new SqlCommand(插入数据, 连接数据库); 查询命令.Parameters.Add("@para", "200");//将200传给参数para 连接数据库.Open(); 查询命令.ExecuteNonQuery();//执行查询语句,如果表中 id列没有值200,这里将添加一行 id值为200 其他列由于没有添加数据 为NULL 连接数据库.Close(); }
[解决办法]
百度一下很多例子可以下载
[解决办法]
给你用控制它写了个例子,你看看吧,不知道对你来说是不是太浅了
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace CSharpTest{ class Program { static void Main(string[] args) { string connectionString = GetConnectionString(); string queryString = "select * from yourtable;"; SqlConnection connection = new SqlConnection(connectionString); { SqlCommand command = connection.CreateCommand(); command.CommandText = queryString; try { connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine("\t{0}\t{1}\t{2}", reader[0], reader[1], reader[2]); } reader.Close(); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } } static private string GetConnectionString() { return ("Integrated Security=true; Initial Catalog=yourDatabase;Server=yourservername"); } }}
[解决办法]
tai duo le
[解决办法]
掌握sqlCommand,SqlConnection,SqlDataAdapter,DataSet,DataTable这些类和SQL语法就可以了。
[解决办法]
using System;using System.Collections.Generic;using System.Text;using System.Data.Sql;using System.Data.SqlClient;using System.Security.Cryptography;class DBTest{ private static SqlConnection sqlConn; private static string connString = "Data Source={0};Initial Catalog={1};Integrated Security=True;user ={2};password={3}"; /// <summary> /// /// </summary> static void Main() { try { sqlConn = new SqlConnection(); string server = "127.0.0.1";//数据库服务器 string dbname = "northwind";//数据库名称 string user = "sa";//数据库用户名 string pwd = "123";//数据库用户名对应密码 sqlConn.ConnectionString = String.Format(connString, server, dbname, user, pwd); SqlCommand command = new SqlCommand(); command.CommandText = "Select * FROM Customers"; command.Connection = sqlConn; sqlConn.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { Console.Write(reader[i].ToString() + " "); } Console.WriteLine(); } } catch (Exception ee) { Console.WriteLine("ERROR Message:" + ee.Message); } }}
------解决方案--------------------
还是建议楼主去下载具体的例子看
然后自己做一个类似的就可以掌握这方面的知识了
[解决办法]
lz可以考虑是自动生成还是手动操作,自动生成 就根据提示操作 手动操作 就上百度搜一下 很多的