![](/img/trans.png)
[英]How to make a SQL Server 2017 local database from C# code in Visual Studio 2017?
[英]how to build a SQL connection using C# in Visual Studio 2017?
我一直使用Oledb Connection。 但是现在我需要通过Sql连接与数据库连接,但我不知道该怎么做,有人可以为我提供一个与sql连接连接的数据库示例吗?
此代码需要sql连接才能成功完成。
protected void Button1_Click(object sender, EventArgs e)
{
string st = this.TextBox1.Text;
string sqlstr2 = "select * from hsinfo WHERE rname='"+st+ "'";
SqlCommand cmd = new SqlCommand(sqlstr2,);
using (SqlDataReader rd = cmd.ExecuteReader())
{
this.Label1.Text = rd["rmail"].ToString();
}
}
您可以查看Microsoft的官方页面以获取更多详细信息SqlConnection类 ,但是我将在下面重现给定的示例...
另外,您还可以检查上一个链接中链接的“ 连接字符串语法” 。
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
没有足够的信息为您建立连接,但是总之,您会这样:
Server=...;Database=...;User ID=...;Password=...;
有关更多信息,请访问ConnectionStrings网站。
请尝试以下代码,有关c#SQL Server连接的更多信息,请参见此SQL Server连接。
string connetionString = null;
SqlConnection cnn ;
connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
cnn = new SqlConnection(connetionString);
try
{
cnn.Open();
MessageBox.Show ("Connection Open ! ");
cnn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}
我会做这样的事情:
public static List<Test> GetTests(string testVariable)
{
DataTable result = new DataTable();
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Database"].ConnectionString))
{
connection.Open();
GetQuery(
connection,
QueryGetTests,
ref result,
new List<SqlParameter>()
{
new SqlParameter("@testVariable", testVariable)
}
);
return result.Rows.OfType<DataRow>().Select(DataRowToTest).ToList();
}
}
private static void GetQuery(SqlConnection connection, string query, ref DataTable dataTable, List<SqlParameter> parameters = null)
{
dataTable = new DataTable();
using (SqlCommand command = new SqlCommand(query, connection))
{
command.CommandTimeout = 120;
if (parameters != null)
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
using (SqlDataAdapter reader = new SqlDataAdapter(command))
{
reader.Fill(dataTable);
}
}
}
我认为这可以为您提供帮助。
string sqlString = "select * from hsinfo WHERE rname=@st";
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DatabaseName"].ConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sqlString, conn))
{
cmd.Parameters.Add("@st", st);
using (SqlDataReader rd = cmd.ExecuteReader())
{
if (rd.Read())
{
this.Label1.Text = rd["rmail"].ToString();
}
}
}
}
特技:
这是一个简单的示例代码,并且可以正常工作。 这可能对您有帮助。 这里NextMonth,NextYear,ProcessedDate是自动计算的值,来自另一个函数,不用考虑这一点。
String cs = @"Data Source=LENOVO-G510;Initial Catalog=Nelna2;Persist Security Info=True;User ID=sa;Password=123";
protected void Save_Click(object sender, EventArgs e)
{
// SqlConnection con = new SqlConnection(cs);
using (SqlConnection con = new SqlConnection(cs))
{
try
{
SqlCommand command5 = new SqlCommand("insert into MonthEnd (month,year,ProcessedDate) values (@month2,@year2,@ProcessedDate2) ", con);
command5.Parameters.AddWithValue("@month2", NextMonth);
command5.Parameters.AddWithValue("@year2", NextYear);
command5.Parameters.AddWithValue("@ProcessedDate2", ProcessedDate);
command5.ExecuteNonQuery();
}
catch (SqlException ex)
{
Response.Write(ex.Message);
}
}
}
可以在数据库属性中找到连接字符串。 右键单击数据库->属性,然后获取连接字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.