如何用SqlCommand执行连接查询。

严志 2013-10-10 11:14:22
string constr = @"data source=.\sqlexpress;initial catalog = HR;user id =sa;password=123456";
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = constr;
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
string query = "select b.cEmployeeCode,b.vFirstName,b.vAddress, a.vDepartmentName";
query += " from dbo.Department a join dbo.Employee b";
query += " on a.cDepartmentCode = b.cDepartmentCode ";
query += "where a.vDepartmentName ='@Sales'";
cmd.CommandText = query;
SqlParameter sql = new SqlParameter("@Sales", SqlDbType.VarChar,25); ///
sql.Value = this.textBox1.Text.Trim();
cmd.Parameters.Add(sql);
cmd.CommandType = CommandType.Text; ////
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
string address = dr.GetString(dr.GetOrdinal("a.vDepartmentName"));
MessageBox.Show("地址是:" + address);
this.textBox2.Text = address;
}
dr.Close();
}
}
}

可以提供代码参考吗:有请发送至:124539132@qq.com
...全文
248 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
严志 2013-10-10
  • 打赏
  • 举报
回复
谢谢。
是_这样吗 2013-10-10
  • 打赏
  • 举报
回复
Andy__Huang 2013-10-10
  • 打赏
  • 举报
回复
string constr = @"data source=.\sqlexpress;initial catalog = HR;user id =sa;password=123456";
using (SqlConnection conn = new SqlConnection())
{
    conn.ConnectionString = constr;
    conn.Open();
    using (SqlCommand cmd = conn.CreateCommand())
    {
        string query = "select b.cEmployeeCode,b.vFirstName,b.vAddress, a.vDepartmentName";
        query += " from dbo.Department a join dbo.Employee b";
        query += " on a.cDepartmentCode = b.cDepartmentCode ";
        query += "where a.vDepartmentName ='@Sales'";
        cmd.CommandText = query;   
        cmd.Parameters.Add("@Sales", SqlDbType.VarChar,25).Value = this.textBox1.Text.Trim();   --->改为这一行就可以了     
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.Read())
        {
            string address = dr.GetString(dr.GetOrdinal("a.vDepartmentName"));
            MessageBox.Show("地址是:" + address);
            this.textBox2.Text = address;
        }
        dr.Close();
    }
}
严志 2013-10-10
  • 打赏
  • 举报
回复
谢谢光临。顶
private SqlConnection con; //数据库连接、关闭、释放资源 #region 数据库连接、关闭、释放资源 private void Open() { if (con == null) { //根据Web.Config文件中数据库连接串,建立数据连接 con = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString ()); } try { //判断连接对象状态,如果是关闭,将其打开 if (con.State == System.Data.ConnectionState.Closed) con.Open(); } catch (System.Data.SqlClient.SqlException E) { //如果出现错误,关闭数据连接,并抛出错误信息 this.Close(); throw new Exception(E.Message); } } public void Close() { if (con != null) { con.Close();//关闭连接 } } public void Dispose() { if (con != null) { con.Dispose();//释放连接资源 con = null; } } #endregion #region 参数处理 public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value) //参数处理 { SqlParameter param; if (Size > 0) { param = new SqlParameter(ParamName, DbType, Size); } else { param = new SqlParameter(ParamName, DbType); } param.Direction = ParameterDirection.Input; if (Value != null) { param.Value = Value; } return param; } #endregion #region 将参数添加到SqlCommand当中 private SqlCommand CreateCommand(string procName, SqlParameter[] prams) //将参数添加到SqlCommand当中 { this.Open();//确认打开连接 SqlCommand cmd = new SqlCommand(procName, con); cmd.CommandType = CommandType.Text; //执行类型是命令文本。上面的参数procName即为SQL语句 //cmd.CommandType = CommandType.StoredProcedure; //执行类型是存储过程。上面的参数procName即为存储过程名称 //下面依次把参数传入命令文本 if (prams != null) { foreach (SqlParameter parameter in prams) cmd.Parameters.Add(parameter); } return cmd; } #endregion #region 将参数添加到SqlDataAdapter当中 private SqlDataAdapter CreateDataAdapter(string procName, SqlParameter[] prams) //将参数添加到SqlDataAdapter当中 { this.Open(); SqlDataAdapter dap = new SqlDataAdapter(procName, con); dap.SelectCommand.CommandType = CommandType.Text;//执行类型:命令文本 //dap.SelectCommand.CommandType = CommandType.StoredProcedure;//执行类型:存储过程 if (prams != null) { foreach (SqlParameter parameter in prams) { dap.SelectCommand.Parameters.Add(parameter); } } return dap; } #endregion #region 针对查询(带参) public DataSet RunProcReturn(string procName, SqlParameter[] prams, string tbName) //针对查询(带参) { SqlDataAdapter dap = CreateDataAdapter(procName, prams); DataSet ds = new DataSet(); dap.Fill(ds, tbName); this.Close(); //得到执行成功返回值 return ds; } #endregion #region 针对查询(不带参) public DataSet RunProcReturn(string procName, string tbName) //针对查询(不带参) { SqlDataAdapter dap = CreateDataAdapter(procName, null); DataSet ds = new DataSet(); dap.Fill(ds, tbName); this.Close(); //得到执行成功返回值 return ds; } #endregion #region 针对增删改 public int RunProc(string procName, SqlParameter[] prams) //针对增删改 { SqlCommand cmd = CreateCommand(procName, prams); int i = cmd.ExecuteNonQuery(); this.Close(); return i; } #endregion }

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧