您的位置:首页 > 其它

ADO.NET 数据连接查询

2012-10-26 11:22 232 查看
static string sqlcon = "server=.;database=;Integrated Security=true;";

/// <summary>

/// 新增数据

/// </summary>

public static void Add()

{

//string sqlcon = "server=.;database=;Integrated Security=true;";

SqlConnection conn=new SqlConnection(sqlcon);

string sqlStr="insert into Boook(b_id,b_title,b_author,b_money)values(1,'ASP.NET','莫言',100)";

SqlCommand cmd=new SqlCommand(sqlStr,conn);

conn.Open();

int i = cmd.ExecuteNonQuery();

conn.Close();

if (i>0)

{

Console.Write("新增成功!");

}

else

{

Console.Write("新增失败!");

}

}

/// <summary>

/// 删除数据

/// </summary>

public static void Delete()

{

//string sqlcon = "server=.;database=;Integrated Security=true;";

SqlConnection conn = new SqlConnection(sqlcon);

string sqlStr = "delete from book where b_id=1";

SqlCommand cmd = new SqlCommand(sqlStr,conn);

conn.Open();

int i = cmd.ExecuteNonQuery();

conn.Close();

if (i > 0)

{

Console.Write("删除成功!");

}

else

{

Console.Write("删除失败!");

}

}

/// <summary>

/// 数据更新,软删除

/// </summary>

private static void Update()

{

//string sqlcon = "server=.;database=;Integrated Security=true;";

SqlConnection conn = new SqlConnection(sqlcon);

string sqlStr = "update Boook set b_id =2 where b_id=1";

SqlCommand cmd = new SqlCommand(sqlStr, conn);

conn.Open();

int i = cmd.ExecuteNonQuery();

conn.Close();

if (i > 0)

{

Console.Write("更新成功!");

}

else

{

Console.Write("更新失败!");

}

}

/// <summary>

/// 读取单个值

/// </summary>

private static void selectSingle()

{

SqlConnection conn = new SqlConnection(sqlcon);

string sqlStr = "select * from Book";

SqlCommand cmd = new SqlCommand(sqlStr, conn);

conn.Open();

object obj = cmd.ExecuteScalar();

conn.Close();

Console.Write(obj.ToString());

}

/// <summary>

/// dateReader读取数据,逐行读取,通过下表访问列

/// </summary>

private static void dateReader()

{

SqlConnection conn = new SqlConnection(sqlcon);

string sqlStr = "select * from Book";

SqlCommand cmd = new SqlCommand(sqlStr, conn);

conn.Open();

SqlDataReader dr = cmd.ExecuteReader();

if (dr.HasRows)

{

while (dr.Read())//如果读到下一行数据就返回True,且本身就属于那一行数据

{

Console.Write(dr[0].ToString() + '_' + dr[1].ToString()+'_'+dr["ID"].ToString());

}

}

else

{

Console.Write("无数据");

}

dr.Close();

conn.Close();

}

//使用适配器填充数据集 SqlDataAdapter不需要手动开关,它能够自己开关

public static void QueryListAdapter()

{

SqlConnection con = new SqlConnection(sqlcon);

string sqlStr = "select*from book";

SqlDataAdapter da = new SqlDataAdapter(sqlStr,con);

DataSet ds = new DataSet();

da.Fill(ds);

DataTable dt = ds.Tables[0];

//循环数据表中的每一行

for (int i = 0; i < dt.Rows.Count; i++)

{

DataRow dr = dt.Rows[i];//将表中的一行拿出来给行对象

Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());

}

}

//使用适配器填充数据集 SqlDataAdapter不需要手动开关,它能够自己开关

public static void QueryListAdapter2()

{

SqlConnection con = new SqlConnection(sqlcon);

string sqlStr = "select*from book";

SqlDataAdapter da = new SqlDataAdapter(sqlStr, con);

DataSet ds = new DataSet();

da.Fill(ds);

DataTable dt = ds.Tables[0];

//循环数据表中的每一行

for (int i = 0; i < dt.Rows.Count; i++)

{

DataRow dr = dt.Rows[i];//将表中的一行拿出来给行对象

Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());

}

}

//调用存储过程查询数据

public static void QuerListByProc()

{

SqlConnection conn = new SqlConnection(sqlcon);

SqlCommand cmd=new SqlCommand("usp_GetBookMyCateId",conn);

//无参数的存储过程

SqlParameter sp2 = new SqlParameter();

sp2.ParameterName = "@cateId";

sp2.SqlDbType = SqlDbType.Int;

sp2.Value = 2;

cmd.Parameters.Add(sp2);

//有两个参数的存储过程

SqlParameter sp = new SqlParameter("@cateId", 2);

cmd.Parameters.Add(sp);

SqlDataAdapter da = new SqlDataAdapter();

DataTable dt = new DataTable();

da.Fill(dt);

foreach(DataRow dr in dt.Rows)

{

Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());

}

}

//调用多个参数的存储过程查询

private static void QueryListByProc2()

{

SqlConnection conn = new SqlConnection(sqlcon);

SqlCommand cmd = new SqlCommand("proGetPageData", conn);

cmd.CommandType = CommandType.StoredProcedure;

//尽量不要使用两个参数的存储过程,类型是枚举类型,另外一个两个参数的函数值混淆

//SqlParameter par = new SqlParameter("@Id", DbType.Int32);

//SqlParameter par = new SqlParameter("@id", 11);

//赋值多个参数

SqlParameter[] paras ={

new SqlParameter("@pageIndex",SqlDbType.Int,4),//这里的4是代表整型的长度

new SqlParameter("@pageSize",SqlDbType.Int,4)

};

//cmd.Parameters.AddRange(paras);

paras[0].Value = 1;//搜索第一页

paras[1].Value = 2;//赋值的

cmd.Parameters.AddRange(paras);//为command对象添加pameters数组

conn.Open();

//SqlDataReader dr = cmd.ExecuteReader();

//while (dr.Read())

//{

// Console.Write("id=" + dr[0].ToString());

//}

//dr.Close();

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

foreach (DataRow dr in dt.Rows)

{

Console.WriteLine(dr[0].ToString() + "_" + dr[1].ToString());

}

conn.Close();

}

//调用带输出参数的存数过程

private static void QuerListProc3()

{

SqlConnection conn = new SqlConnection(sqlcon);

SqlCommand cmd = new SqlCommand("proGetData2", conn);

SqlParameter[] paras ={

new SqlParameter("@pageIndex",SqlDbType.Int),

new SqlParameter("@pageSize",SqlDbType.Int),

new SqlParameter("@pageCount",SqlDbType.Int),

new SqlParameter("@rowCount",SqlDbType.Int)

};

paras[0].Value = 1;

paras[1].Value = 2;

paras[2].Direction = ParameterDirection.Output;

paras[3].Direction = ParameterDirection.Output;//设置参数的输出方向

cmd.Parameters.AddRange(paras);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

foreach (DataRow dr in dt.Rows)

{

Console.WriteLine(dr[0].ToString() + "_" + dr[1].ToString());

}

int pageCount=Convert.ToInt32(cmd.Parameters[2].Value);

int rowCount=Convert.ToInt32(cmd.Parameters[3].Value);//获取输出参数

Console.WriteLine("pageCount=" + pageCount + ",rowCount=" + rowCount);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: