首先感谢众多乐意助人的众多高手,感谢你们无私的奉献。现在菜鸟提问,师傅带着我重写一个人事管理程序,数据库和窗体都做好了。现在师傅叫连接数据库,实现输入数据。保存数据到数据库,可是我看了很多书。真的不知道怎么入手,怎么连。。个位大侠。能不能教教我啊。55或是在那里有相关的教程,视频最好。。一步一步教。要不然我要拿出200大洋请同事吃饭的。。我现在工资不高啊。
解决方案 »
- 怎么把外部excel数据源编译到exe中
- 如何取出窗体控件的数据绑定
- C#中怎样实现把系统时间向前或者向后调啊?
- windows服务的服务描述在哪儿添
- COM+在.net架构中有没有替代的内容
- 关于“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”的问题
- @@@@@还是c#脚本调用问题 还是没弄明白 郁闷啊!!!!!!!!!!!!! 求各位帮我下!!
- 120快来啊!!!!!!!!!!!!!!!!!
- 显示图片延时问题--有点可怕~
- 急问???微软的所有控件如:vb,vc++的控件*.ocx,*.dll.现在在vc#,vb.net中还能调用并能使用吗???
- 如何按条件从 DataSet 取出中的不同数据 ???
- vs 2005 安装后运行调试遇到的一个郁闷问题---在线期求解答!
MyConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["newconnectionString"].ToString());
MyConnection.Open();
string SqlString ="select * from UpLoad where u_id=2";
MyCommand = new SqlCommand(SqlString,MyConnection);
MyDataReader = MyCommand.ExecuteReader();
你如果是执行update的话,把SqlString 改成“update 表 set 列=值 where 条件”
再把MyDataReader = MyCommand.ExecuteReader();去掉,换成MyCommand.ExecuteNonQuery(),OK了,希望对你有帮助
可以实现几乎所有的数据库操作,以下是几种常用的用法,非常方便,一个操作也就一两句话。
查询数据:
1 返回多个查询记录
DB db = new DB()
string sql="selelct * from tablename"
OleDbDataReader dr=db.ExeQuery(string sql);
//你自己处理dr中的数据
db.Close();
2 返回一个值
DB db = new DB()
string sql="selelct 列名 from tablename"
string res=db.getAValue(string sql);
//你自己处理res中的数据
db.Close();
3 填充一个DateSet
db.FillDataSet(DataSet ds,string sql,string tableName)
存储数据就更简单了
可以是update、delete、insert等
DB db = new DB()
string sql="update tablename set 列名=值 "
db.ExeNonQuery(string sql);
执行存储过程
db.ExeProcedure(string ProName)
以下是自己封装DB的全部代码,有时间把有些在改进以下
public class DB
{
private string _ConnString;
public static string DateFormat;
public static string TimeFormat;
/// <summary>
/// yyyy-mm-dd hh24:mi:ss
/// 2007-04-03 17:12:34
/// </summary>
public static string OracleDateTimeFormat;
/// <summary>
/// yyyy-MM-dd HH:mm:ss
/// 2007-04-03 17:12:34
/// </summary>
public static string DotNetDateTimeFormat;
private OleDbConnection Conn;
public OleDbCommand Comm;
private bool _AutoCommit; public string ConnString
{
get { return _ConnString; }
set
{
if (value != "")
_ConnString = value;
else
_ConnString = "";
}
}
/// <summary>
/// 是否自动提交
/// </summary>
public bool AutoCommit
{
get { return _AutoCommit; }
set { _AutoCommit = value; }
}
public DB()
{
_ConnString = "Provider=\"MSDAORA.1\";User ID=hzb;Data Source=misora;Password=88888";
initDB();
}
public DB(String connectString)
{
_ConnString = connectString;
initDB();
}
private void initDB()
{
DateFormat = "yyyy-MM-dd";
TimeFormat = "HH24:mi:ss";
OracleDateTimeFormat = "yyyy-mm-dd hh24:mi:ss";
DotNetDateTimeFormat = "yyyy-MM-dd HH:mm:ss";
Conn = new OleDbConnection(_ConnString);
Comm = new OleDbCommand(" ", Conn);
}
private string _errorMessages;
/// <summary>
/// 执行方法返回false时,可以从中取到错误信息
/// </summary>
public string errorMessages
{
get
{
return _errorMessages;
}
} public bool ConnTry()
{
try
{
if (Conn.State == ConnectionState.Closed)
Conn.Open();
}
catch (OleDbException e)
{
this._errorMessages=getErrorMsg(e,"");
return false;
}
return true;
}
public void WriteLog(string str)
{
}
public void Close()
{
Conn.Close();
}
public OleDbDataReader ExeQuery(string sql)
{
this.Comm.CommandText = sql;
if (!ConnTry()) return null;
try
{ return Comm.ExecuteReader(); }
catch (OleDbException e)
{
this._errorMessages=getErrorMsg(e,sql);
return null;
}
}
public bool ExeNonQuery(string sql)
{
this.Comm.CommandText = sql;
if (!ConnTry()) return false;
try
{
Comm.ExecuteNonQuery();
Conn.Close();
}
catch (OleDbException e)
{
this._errorMessages=getErrorMsg(e,sql);
Conn.Close();
return false;
} //自动提交
if (_AutoCommit)
commit();
return true;
}
private string getErrorMsg(OleDbException e,string sql)
{
string m="";
for (int i = 0; i < e.Errors.Count; i++)
{
m += "Index #" + i + "\n" +
"Message: " + e.Errors[i].Message + "\n" +
"NativeError: " + e.Errors[i].NativeError + "\n" +
"Source: " + e.Errors[i].Source + "\n" +
"SQLState: " + e.Errors[i].SQLState + "\n" +
"SQL: " + sql;
}
return m;
}
public bool FillDataSet(DataSet ds,string sql,string tableName)
{
if (!ConnTry()) return false;
try
{
OleDbDataAdapter da=new OleDbDataAdapter(sql,this.Conn);
da.Fill(ds,tableName);
Conn.Close();
return true;
}
catch (OleDbException e)
{
this._errorMessages=getErrorMsg(e,sql);
Conn.Close();
return false;
}
}
/// <summary>
/// 要先用Comm.Parameters.Add()增加参数
/// </summary>
/// <param name="ProName">过程名</param>
/// <returns></returns>
public bool ExeProcedure(string ProName)
{
this.Comm.CommandText = ProName;
this.Comm.CommandType=CommandType.StoredProcedure;
if (!ConnTry()) return false;
try
{
Comm.ExecuteNonQuery();
Conn.Close();
return true;
}
catch (OleDbException e)
{
this._errorMessages=getErrorMsg(e,"执行过程:"+ProName);
Conn.Close();
return false;
}
}
public void commit()
{
string sql = "commit";
Comm.CommandText = sql;
if (!ConnTry()) return; ;
Comm.ExecuteNonQuery();
Conn.Close();
} /// <summary>
/// 将给定的ArrayList中转换成"(i1,i2,i3,....in)"的形式,用于Sql
/// </summary>
public string ListToStrForSql(ArrayList al)
{
string str = "";
if (al.Count == 0)
str = "()";
else
{
if (al.Count == 1)
str = "(" + al[0].ToString() + ")";
else
{
str = "(" + al[0].ToString();
for (int i = 1; i < al.Count; i++)
str += "," + al[i].ToString();
str += ")";
}
}
return str;
}
/// <summary>
/// 将给定的ArrayList中转换成"('i1','i2','i3',....)"的形式,用于Sql in
/// </summary>
public string ListToStrForSqlStr(ArrayList al)
{
string str = "";
if (al.Count == 0)
str = "()";
else
{
if (al.Count == 1)
str = "('" + al[0].ToString() + "')";
else
{
str = "('" + al[0].ToString()+"'";
for (int i = 1; i < al.Count; i++)
str += ",'" + al[i].ToString()+"'";
str += ")";
}
}
return str;
}
public string getAValue(string sql)
{
string res;
try
{
this.Comm.CommandText = sql;
ConnTry();
OleDbDataReader dr = Comm.ExecuteReader();
if (dr.HasRows)
{
dr.Read();
res = dr[0].ToString();
}
else
res = null;
dr.Close();
Conn.Close();
return res;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
public ArrayList getArrayList(string sql)
{
ArrayList DBList = new ArrayList();
try
{
this.Comm.CommandText = sql;
ConnTry();
OleDbDataReader dr = Comm.ExecuteReader(); if (dr.HasRows)
{
while (dr.Read())
{
DBList.Add(dr[0].ToString());
}
}
else
DBList = null;
dr.Close();
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
Conn.Close();
}
return DBList;
}
public string oracleDatetime(DateTime d)
{
return "to_date('" + d.ToString(DotNetDateTimeFormat) + "','" + OracleDateTimeFormat + "')";
}
}
两者各有利弊。你看一个例子,或上MSDN上看看就可以了。不怎么难的。
SqlConnection Con = new SqlConnection();
SqlCommand Cmd = new SqlCommand();
SqlDataAdapter Ada = new SqlDataAdapter(); public string Connection
{
get
{
return ConfigurationSettings.AppSettings["ConnectionString"];
}
} public void SqlCommon()
{
try
{ Con = new SqlConnection(Connection);
Cmd.Parameters.Clear();
if (Con.State != ConnectionState.Open)
{
Con.Open();
}
Cmd.Connection = Con;
Ada.SelectCommand = Cmd;
}
catch(Exception ex)
{
} } 取所有数据
public DataTable GetAllInforDA()
{
try
{
SqlCommon(); Cmd.CommandText = "tb_AfficheGetAllAffiche";
Cmd.CommandType = CommandType.StoredProcedure; Ada.Fill(dt);
Cmd.ExecuteNonQuery();
Con.Close(); }
catch (Exception)
{
return null;
}
finally
{
ClearSqlCommon();
}
return dt;
}