扎扎实实地看书吧,Ebook也行。
解决方案 »
- c# 如何获取当时时间像(1336489298953)这样的时间格式
- datagridview 重复读取的问题
- 大家好,我想问一下,在.net中在winform里面怎样将文本框中文本转换为html代码?
- c#winform怎么构建专业的主界面(首页),如工具栏,
- 使用 Webclient 上传文件到服务器,总报405错误....
- winform里面打印表格有什么好的办法?
- c#数组问题?急急急
- 求救啊!!!
- 关于使用外部摄像头C++dll回调函数的问题
- C# 的wpf 显示图片用鼠标点击获得图片像素坐标 怎么弄?
- 这个connectString应该怎样写?
- C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?
下列代码是以Access 2000数据库为模型,创建的一个名称为"myBind"的BindingManagerBase对象。
//创建一个 OleDbConnection
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM person " ;
file://创建一个 DataSet
myDataSet = new DataSet ( ) ;
myConn.Open ( ) ;
file://用 OleDbDataAdapter 得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
file://把Dataset绑定books数据表
myCommand.Fill ( myDataSet , "person" ) ;
file://关闭此OleDbConnection
myConn.Close ( ) ;
myBind = this.BindingContext [ myDataSet , "person" ] ;
using System.Data.OleDb;
---------------------------
OleDbConnection thisConnection=new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\D\DevCs\Works2\Person.mdb;");
thisConnection.Open();
OleDbCommand thisCommand=thisConnection.CreateCommand(); //
thisCommand.CommandText="SELECT * FROM Intro";
OleDbDataReader thisReader=thisCommand.ExecuteReader();
while(thisReader.Read())
{
Console.WriteLine("\t{0}\t{1}",thisReader["ID"],thisReader["TheName"]);
}
thisReader.Close();
thisConnection.Close();
string myExecuteQuery="DELETE * FROM "+tablename;
OleDbConnection myConnection = new OleDbConnection(myConnectionString);
OleDbCommand myCommand = new OleDbCommand(myExecuteQuery, myConnection);
myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
//update
SqlCommand mycmd=new SqlCommand("update 学生情况表 set 学号=@p1, 姓名=@p2,性别=@p3,职业=@p4,出生日期=@p5 where 学号=@p6",mycnn);
mycmd.Parameters.Add("@p1",System.Data.SqlDbType.Int,10000,"学号");
mycmd.Parameters.Add("@p2",System.Data.SqlDbType.Char,10,"姓名");
mycmd.Parameters.Add("@p3",System.Data.SqlDbType.Char,2,"性别");
mycmd.Parameters.Add("@p4",System.Data.SqlDbType.Char,20,"职业");
mycmd.Parameters.Add("@p5",System.Data.SqlDbType.DateTime,12,"出生日期");
mycmd.Parameters.Add("@p6",System.Data.SqlDbType.Int,10000,"学号");
mydp.UpdateCommand=mycmd;
//insert
SqlCommand mycmd1=new SqlCommand("insert into 学生情况表(学号,姓名,性别,职业,出生日期) values(@p0,@p1,@p2,@p3,@p4)",mycnn);
mycmd1.Parameters.Add("@p0",System.Data.SqlDbType.Int,1000,"学号");
mycmd1.Parameters.Add("@p1",System.Data.SqlDbType.Char,10,"姓名");
mycmd1.Parameters.Add("@p2",System.Data.SqlDbType.Char,2,"性别");
mycmd1.Parameters.Add("@p3",System.Data.SqlDbType.Char,20,"职业");
mycmd1.Parameters.Add("@p4",System.Data.SqlDbType.DateTime,12,"出生日期");
mydp.InsertCommand=mycmd1;
/////
//////
//或采用自动生成方式 //SqlCommandBuilder mycb=new SqlCommandBuilder(mydp); /////
mydp.Update(mydateset,"table");//表名不能为info
MessageBox.Show("update成功!","提示",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Information);
}
catch(Exception my)
{
MessageBox.Show(my.Message.ToString(),"提示",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Error);
}
finally
{ mydp=null;
mydateset=null;
mycnn.Close();
mycnn=null;
}
如果你想在Winform中方便快捷的建立数据窗口的话,请参考下列做法:
1.打开.net2003, 新建一个C#的Winform项目
2.选择菜单-项目-添加新项
3.在在出的添加新项的对话框中选择数据窗体向导
4.确认后,系统会弹出数据窗体向导对话框,选择下一步
5.在探出的对话框中设置数据集,在这里你可以新建或更新一个DataSet对象,设置完毕之后,点击下一步
6.系统会出现数据连结对话框,选择正确的数据连结,测试成功后,点击下一步
7.在新弹出的对话框中设置数据适配器,选择要操作的表格和表格中的列,点击下一步
8.如果你选择的表中有关联关系,在下一步探出的对话框中尼可以设置主从表的关系和显示的格式
9 .点击下一步,系统会自动生成一个OleDbDataAdapter对象,并生成其SelectCommand、InsertCommand、UpdateCommand、DeleteCommand
并根据设置填充数据集DataSet
10.点击下一步,系统会自动生成带有功能按钮和数据控件DataGrid的窗体,按F5,执行程序,当点击加载时候,DataGrid就会绑定数据,并进
将数据显示出来,并且能过通过更新按钮来更新数据网格和数据库中数据
2.楼上的朋友哇,第一,偶在一小县城,新华书店连一本C#的书都没有。要买的话要坐1个多小时的车
,再说上网搜不到在Windows窗体上的数据库程序,(都是dos下的)只好求助大家了
第二,我要的是Windows窗体上的数据库程序, 不是Dos 下的understand?
第三。 greennetboy(我的老婆叫静静) 朋友,我会给你分的,但等等吧,因为我看不懂,运行时老出错,再说我想对数据库入门的,总不能以后都让我用这个向导做数据库应用程序吧?
一.这个为c#连接winform
注意点:(1)调用时必须引用此类的命名空间
(2)类中引用的命名空间
using System;
using System.Data;
using System.Data.SqlClient;
(3)调用示例:
DataSet ds =new DataSet();
string sql="select * from [user]";
ds=DoDataBase.GetDataSet(sql);
dataGrid1.DataSource=ds.Tables[0].DefaultView;
//以上四行为用02wangluo数据库中user表来填充DataSet后绑定到dataGrid1
//这是调用的GetDataSet方法-->此方法主要面对的是查(select)
string sql="insert into test(test_xingming) values ("+txtUserID.Text+")";
DoDataBase.ExecuteSQL(sql);
//以上两行是调用DoDataBase数据库操作类中的ExecuteSQL方法来执行对数据库的增,删,改等操作,一般写到button_click中
(3)具体操作类代码:
public class DoDataBase
{
public DoDataBase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static DataSet GetDataSet(string sql)
{
SqlConnection conn=new SqlConnection();
DataSet ds=new DataSet();
try
{ conn=new SqlConnection("server=localhost;uid=sa;pwd=;database=02wangluo");
SqlDataAdapter sda=new SqlDataAdapter(sql,conn);
sda.Fill(ds);
return ds;
}
catch(Exception ex)
{
throw(ex);
}
finally
{
conn.Close();
}
}
public static int ExecuteSQL(string sql)
{
SqlConnection conn=new SqlConnection();
try
{
conn=new SqlConnection("server=localhost;uid=sa;pwd=;database=02wangluo");
SqlCommand sqlCmd =new SqlCommand(sql,conn);
conn.Open();
return sqlCmd.ExecuteNonQuery();
}
catch(Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}
}二asp.net中c#操作SQL SERVER 2000数据库的操作类
(1)类中命名空间:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Configuration;
(2)在web.config中的<configuration>下面一行加入数据库连接字符串
<appSettings>
<add key="sqlConn" value="data source=(local); initial catalog=02wangluo;user id=sa; password="/>
</appSettings>
(2)操作类代码:
public class DoDataBase
{
public static SqlConnection sqlConn = new SqlConnection();
public DoDataBase()
{
}
public static DataSet GetDataSet(string sql)
{
DataSet ds = new DataSet();
try
{
sqlConn = new SqlConnection(ConfigurationSettings.AppSettings["sqlConn"]);
SqlDataAdapter sqlApt = new SqlDataAdapter(sql, sqlConn);
sqlApt.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw (ex);
}
} public static int ExecuteSQL(string sql)
{
try
{
sqlConn = new SqlConnection(ConfigurationSettings.AppSettings["sqlConn"]);
SqlCommand sqlCmd =new SqlCommand(sql,sqlConn);
sqlConn.Open();
return sqlCmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw (ex);
}
finally
{
sqlConn.Close();
}
}
}
(4)调用示例:略
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
using System.Data.SqlClient;
public class Test
{
public static void Main()
{
try
{
string servername="server=accp;database=northwind;user=sa";
SqlConnection myconnection=new SqlConnection(servername);
SqlCommand mycommand=myconnection.CreateCommand();
mycommand.CommandText="SELECT CustomerID, CompanyName, ContactName, Address " +
"FROM Customers " +
"WHERE CustomerID = 'ALFKI'";
myconnection.Open();
SqlDataReader mySqlDataReader=mycommand.ExecuteReader();
mySqlDataReader.Read();
Console.WriteLine("mySqlDataReader[\"CustomerID\"] = " +
mySqlDataReader["CustomerID"]);
Console.WriteLine("mySqlDataReader[\"CompanyName\"] = " +
mySqlDataReader["CompanyName"]);
Console.WriteLine("mySqlDataReader[\"ContactName\"] = " +
mySqlDataReader["ContactName"]);
Console.WriteLine("mySqlDataReader[\"Address\"] = " +
mySqlDataReader["Address"]);
}
catch (SqlException e)
{
Console.WriteLine("A SqlException was thrown");
Console.WriteLine("Number = " + e.Number);
Console.WriteLine("Message = " + e.Message);
Console.WriteLine("StackTrace:\n" + e.StackTrace);
}
}
}