590
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public class SqlTool
{
//数据库连接字符串
private static string connStr = "Data Source=192.168.0.0;Initial Catalog=Test_DB;User ID=sa;Password=12345";
//如果你要把链接的字符串写进配置文件,就用下面这个
//private static string connStr = ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
/*** 可执行非查询SQL命令,如:增、删、改等 **/
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
//String connStr = System.Configuration.ConfigurationManager.AppSettings.Get(connKey);
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteNonQuery();
}
}
}
/** 返回查询结果的第一行第一列 **/
public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
if(conn.State==ConnectionState.Closed){
conn.Open();
}
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
return cmd.ExecuteScalar();
}
}
}
/** 返回查询结果 **/
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
foreach (SqlParameter parameter in parameters)
{
cmd.Parameters.Add(parameter);
}
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
return dataset.Tables[0];
}
}
}
// **返回查询结果的数据集 ** /
public static DataSet getDataSet(String sql)
{
DataSet ds = new DataSet();
SqlConnection Conn = new SqlConnection(connStr);
try
{
Conn.Open();
SqlDataAdapter Da = new SqlDataAdapter(sql, Conn);
Da.Fill(ds);
}
catch
{
return null;
}
finally
{
Conn.Close();
}
return ds;
}
}
你把以上的内容写成一个类文件,然后调用里面的方法就可以了,比如下面这样
//返回一个dataset结果集
string fuid ="hello";
//下面这个sql传了一个参数进去,即fuid;不过最好不要这样写,因为很容易被SQL注入攻击,最好是调用存储过程传参数;
//像下面这个sql语句一样,你把自己的sql语句放进去就可以了,随便连几个表,不过最多256个哈
string sql = "SELECT a.id, a.fuid,a.adress,a.title FROM sys_WebConfig_det a WHERE a.id='" + fuid + "'";
//SqlTool为上面的这个类;getDataSet为这个类里面的方法
Dataset ds_ds= SqlTool.getDataSet(sql);
有啥不懂再问,上面的是我复制以前写的代码,修改下给你的。大概思路就是这样吧
--查询库中所有表的索引
SELECT t.name AS tableName,i.name AS indexName
FROM sys.indexes AS i INNER JOIN sys.tables AS t
ON i.[object_id]=t.[object_id]
多表查询类似上面, 无非是连接一下。
这跟VS没什么关系。 你有兴趣花一个月的时间来学SQL Server, 暂时忘记VS。