各位大虾:
端午节好!
我是个刚刚开始接触编程的菜鸟,我想问一个问题:
怎么用c#连接sqlserver2000,并且做添加,删除数据操作,用DataGrid把数据显示在网页上
谢谢!
端午节好!
我是个刚刚开始接触编程的菜鸟,我想问一个问题:
怎么用c#连接sqlserver2000,并且做添加,删除数据操作,用DataGrid把数据显示在网页上
谢谢!
解决方案 »
- C#里面怎么关闭ADODB建立的数据库连接
- 求SQL语句
- 实体类字段类型问题.
- 大侠能否推荐一本网络编程的好书?
- 请问在c/s开发下的winform 的控件dataGrid 中的一列的数据长度超过了,我想让它自动换行显示完整,而不是加大列宽,有办法吗?(nowuser
- 帮忙解释一下一些API函数的用法及作用(有关通讯)
- 有一个数据导入模块,其中有进度条,用到了多线程,请问这样的环境中,有多少的线程,线程间是怎么联系的??
- databinding 問題
- 100分,问一个经常遇到的问题。
- 做个甘特图,大家给个思路
- 在SqlServer2000开发,如何发布到MSDE2000上
- 简单的问题,顶者有人!
楼主加油怎么用c#连接sqlserver2000,并且做添加,删除数据操作,用DataGrid把数据显示在网页上
你这个问题可以查MSDN
或者去Google Baidu都可以,N多了,就不费话了
//连接SQL数据库,并打开
SqlConnection scnn=new SqlConnection("server=服务器名;uid=用户名;pwd=密码;Initial Catalog=数据库名");
scnn.Open();
//建立SQL命令,并执行
SqlCommand scmd=new SqlCommand("SQL语句",scnn);
scmd.ExecuteNonQuery();
//建立填充数据集
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand =scmd;
//建立数据集
DataSet ds=new DataSet();
//填充数据集
da.Fill(ds,"student");
//建立数据表
DataTable dt=ds.Tables["student"];
//数据绑定
dataGrid1.DataSource=ds;
//关闭SQL连接
scnn.Close();
{
get
{
return System.Configuration.ConfigurationManager.ConnectionStrings["DatabaseConnection"].ToString();
}
}
/// <summary>
/// 执行一段SQL语句(主要用于增加修改删除等,因为它将返回一个bool)。
/// true:表示执行成功,false:表示执行失败
/// </summary>
/// <param name="commandText">Transact-SQL 语句</param>
/// <returns>bool</returns>
public bool ExecuteTxtBool(string commandText)
{
//创建一个bool
bool isSuccess = false; //定义一个command对象
SqlCommand cmd = new SqlCommand();
//导入连接数据库参数,准备执行command using (SqlConnection cn = new SqlConnection(strConn))
{
cn.Open(); try
{
try
{
//连接数据库
cmd.Connection = cn; //设置command text 为SQL语句
cmd.CommandText = commandText; //设置command type
cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); //从command对象中清除SqlParmeters,这样他们能够被再次使用
cmd.Parameters.Clear(); //释放资源
cmd.Dispose(); isSuccess = true;
}
catch
{
cmd.Dispose();
}
finally
{ //断开数据库连接,释放占有的资源
cn.Close();
cn.Dispose();
}
}
catch
{
cn.Close();
cn.Dispose();
} //返回 bool
return isSuccess;
}
}
/// 执行一段SQL语句(主要用于查询等,因为它将返回一个SqlDataReader)
/// </summary>
/// <param name="commandText">Transact-SQL 语句</param>
/// <returns>SqlDataReader</returns>
public SqlDataReader ExecuteTxtDataReader(string commandText)
{
//创建一个bool
SqlDataReader dr = null; //定义一个command对象
SqlCommand cmd = new SqlCommand();
//导入连接数据库参数,准备执行command
using (SqlConnection cn = new SqlConnection(strConn))
{ cn.Open();
try
{
//连接数据库
cmd.Connection = cn; //设置command text 为SQL语句
cmd.CommandText = commandText; //设置command type
cmd.CommandType = CommandType.Text; dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
cmd.Dispose();
}
}
return dr; }
/// <summary>
/// 执行一组SQL语句(主要用于增加修改删除等,因为它将返回一个bool)。
/// true:表示事务执行成功,false:表示事务执行失败
/// </summary>
/// <param name="commandText">sql语句数组</param>
/// <returns>bool</returns>
public bool ExecuteMuliTxtBool(string[] commandText)
{
//创建一个bool
bool isSuccess = false; //定义一个command对象
SqlCommand cmd = new SqlCommand();
//导入连接数据库参数,准备执行command
using (SqlConnection cn = new SqlConnection(strConn))
{
cn.Open(); try
{
//连接数据库
cmd.Connection = cn; //建立一个事务
SqlTransaction trans = cn.BeginTransaction(); cmd.Transaction = trans; try
{
for (int i = 0; i < commandText.Length; i++)
{
if (commandText[i].Trim() != "")
{
//设置command text 为SQL语句
cmd.CommandText = commandText[i]; //设置command type
cmd.CommandType = CommandType.Text; cmd.ExecuteNonQuery(); //从command对象中清除SqlParmeters,这样他们能够被再次使用
cmd.Parameters.Clear();
}
}
trans.Commit(); isSuccess = true; //释放资源
cmd.Dispose();
}
catch
{
trans.Rollback();
cmd.Dispose();
}
finally
{
//断开数据库连接,释放占有的资源
cn.Close();
cn.Dispose();
}
}
catch
{
cn.Close();
cn.Dispose();
} //返回 bool
return isSuccess;
}
}
/// <summary>
/// 执行一段SQL语句(主要用于查询等,因为它将返回一个DataSet)。
/// </summary>
/// <param name="commandText">Transact-SQL 语句</param>
/// <returns>DataSet</returns>
public DataSet ExecuteTxtDataSet(string commandText)
{
//定义一个command对象
SqlCommand cmd = new SqlCommand();
//导入连接数据库参数,准备执行command
using (SqlConnection cn = new SqlConnection(strConn))
{ //创建一个DataSet
DataSet ds = new DataSet(); cn.Open(); try
{
try
{
//连接数据库
cmd.Connection = cn; //设置command text 为SQL语句
cmd.CommandText = commandText; //设置command type
cmd.CommandType = CommandType.Text; //创建 DataAdapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
//填充 DataSet 对于DataTable名称使用缺省值
da.Fill(ds); //从command对象中清除SqlParmeters,这样他们能够被再次使用
cmd.Parameters.Clear(); //释放资源
cmd.Dispose();
}
catch (System.Exception ee)
{
ee.ToString();//用于调试
cmd.Dispose();
}
finally
{
//断开数据库连接,释放占有的资源
cn.Close();
cn.Dispose();
}
}
catch
{
cn.Close();
cn.Dispose();
} //返回 dataset
return ds;
}
}
/// 执行存储过程(主要用于查询等,因为它将返回一个DataSet)。
/// </summary>
/// <param name="storeProcedureName">存储过程名称</param>
/// <param name="inParameterName">入参名称(string[])</param>
/// <param name="inParameterValue">入参值,入参必须为一个string[]数组</param>
/// <returns></returns>
public DataSet ExecuteSpDataset(string storeProcedureName, string[] inParameterName, string[] inParameterValue)
{
//创建DataSet
DataSet ds = new DataSet(); //定义一个Command对象
SqlCommand cmd = new SqlCommand(); //导入连接数据库参数,准备执行command
using (SqlConnection cn = new SqlConnection(strConn))
{ cn.Open();
try
{
try
{
//连接数据库
cmd.Connection = cn; //设置command text 为存储过程名称
cmd.CommandText = storeProcedureName; //设置command type
cmd.CommandType = CommandType.StoredProcedure;
//定义入参
for (int i = 0; i < inParameterValue.Length; i++)
{
SqlParameter p = new SqlParameter((string)inParameterName[i], SqlDbType.Text, 100000);
p.Direction = System.Data.ParameterDirection.Input;
p.Value = (string)inParameterValue[i];
cmd.Parameters.Add(p);
} //创建 DataAdapter
SqlDataAdapter da = new SqlDataAdapter(cmd); //填充 DataSet 对于DataTable名称使用缺省值
da.Fill(ds); //从command对象中清除SqlParmeters,这样他们能够被再次使用
cmd.Parameters.Clear(); //释放资源
cmd.Dispose();
}
catch
{
cmd.Dispose();
}
finally
{
//断开数据库连接,释放资源
cn.Close();
cn.Dispose();
}
}
catch
{
cn.Close();
cn.Dispose();
}
return ds;
}
}
/// <summary>
/// 执行存储过程(主要用于增加修改删除等,因为它将返回一个ArrayList)。
/// 返回值为ArrayList,如果ArrayList[0]="success"并且ArrayList[n]为存储过程返回的成功值,那么表示此方法执行成功。
/// </summary>
/// <param name="storeProcedureName">存储过程名称</param>
/// <param name="inParameterName">入参名称(string[])</param>
/// <param name="inParameterValue">入参值,入参必须为一个string[]数组</param>
/// <param name="outParameterName">出参名称(string[])</param>
/// <param name="outParameterValue">出参的空字符串数组,例如存储过程有两个出参,那么该字段就填 outParameterValue{"",""}</param>
/// <returns></returns>
public ArrayList ExecuteSpArrayList(string storeProcedureName, string[] inParameterName, string[] inParameterValue, string[] outParameterName, string[] outParameterValue)
{
ArrayList returns = new ArrayList(); //该方法的返回值, 该 ArrayList 的第一项一定是执行的结果。
returns.Add("success");//设置returns[0]为success;如果返回的returns[0]是success,表示执行成功 SqlConnection myConnection = null; myConnection = new SqlConnection(strConn);
try
{
myConnection.Open();
}
catch
{
myConnection.Close();
myConnection.Dispose();
returns[0] = "failing";
return returns;
} SqlCommand myCommand = new SqlCommand();
myCommand.Connection = myConnection; //收集入参
for (int i = 0; i < inParameterValue.Length; i++)
{
SqlParameter p1 = new SqlParameter((string)inParameterName[i], SqlDbType.Text, 100000);
p1.Direction = System.Data.ParameterDirection.Input;
p1.Value = (string)inParameterValue[i];
myCommand.Parameters.Add(p1);
} ArrayList outParameters = new ArrayList(); //收集出参
for (int i = 0; i < outParameterValue.Length; i++)
{
SqlParameter p2 = new SqlParameter((string)outParameterName[i], SqlDbType.VarChar, 5000);
p2.Direction = System.Data.ParameterDirection.Output;
myCommand.Parameters.Add(p2);
outParameters.Add(p2);
}
myCommand.CommandType = System.Data.CommandType.StoredProcedure; myCommand.CommandText = storeProcedureName; try
{
myCommand.ExecuteNonQuery(); //收集出参的值,放入一个 ArrayList 中去
for (int i = 0; i < outParameters.Count; i++)
{
returns.Add(((SqlParameter)outParameters[i]).Value.ToString().Trim());
}
}
catch (Exception ee)
{
myCommand.Dispose();
myConnection.Close();
myConnection.Dispose();
returns[0] = ee.ToString() + ee.Source;
return returns;
} myCommand.Dispose();
myConnection.Close();
myConnection.Dispose();
returns[0] = "success"; return returns;
}