C# 用C将sql语句作为字符串传递给mssql?
这是一个非常非常愚蠢的问题,但我非常习惯使用linq/其他方法连接和查询数据库,因此我从未停止学习如何从头开始 问题:如何建立到数据库的手动连接并在C中向其传递字符串参数?是的,我知道。。纯粹的无知 感谢使用该类可以使用ado.net在sql Server上执行存储过程或sql命令。教程比比皆是。可以使用该类在sql Server上使用ado.net执行存储过程或sql命令。教程比比皆是。这里有一个来自 这里有一个例子C# 用C将sql语句作为字符串传递给mssql?,c#,ado.net,C#,Ado.net,这是一个非常非常愚蠢的问题,但我非常习惯使用linq/其他方法连接和查询数据库,因此我从未停止学习如何从头开始 问题:如何建立到数据库的手动连接并在C中向其传递字符串参数?是的,我知道。。纯粹的无知 感谢使用该类可以使用ado.net在sql Server上执行存储过程或sql命令。教程比比皆是。可以使用该类在sql Server上使用ado.net执行存储过程或sql命令。教程比比皆是。这里有一个来自 这里有一个例子 3件其他人尚未向您展示的事情: 使用语句堆叠 设置显式参数类型,而不是让.N
3件其他人尚未向您展示的事情: 使用语句堆叠 设置显式参数类型,而不是让.Net尝试为您选择一种 var关键字
3件其他人尚未向您展示的事情: 使用语句堆叠 设置显式参数类型,而不是让.Net尝试为您选择一种 var关键字
谢谢-我试图搜索它,但得到了广泛的结果,其中没有一个似乎是我要寻找的。SqlCommand类当然缩小了我的搜索范围。谢谢谢谢-我试图搜索它,但得到了广泛的结果,其中似乎没有一个是我要找的。SqlCommand类当然缩小了我的搜索范围。对本例的改进是使用using关键字自动处理连接、命令和读取器实例。另外:为查询参数设置显式数据类型。对本例的改进是使用using关键字自动处理连接,命令和读取器实例。另外:为查询参数设置显式数据类型。
public void RunStoredProcParams()
{
SqlConnection conn = null;
SqlDataReader rdr = null;
// typically obtained from user
// input, but we take a short cut
string custId = "FURIB";
Console.WriteLine("\nCustomer Order History:\n");
try
{
// create and open a connection object
conn = new
SqlConnection("Server=(local);DataBase=Northwind;Integrated Security=SSPI");
conn.Open();
// 1. create a command object identifying
// the stored procedure
SqlCommand cmd = new SqlCommand(
"CustOrderHist", conn);
// 2. set the command object so it knows
// to execute a stored procedure
cmd.CommandType = CommandType.StoredProcedure;
// 3. add parameter to command, which
// will be passed to the stored procedure
cmd.Parameters.Add(
new SqlParameter("@CustomerID", custId));
// execute the command
rdr = cmd.ExecuteReader();
// iterate through results, printing each to console
while (rdr.Read())
{
Console.WriteLine(
"Product: {0,-35} Total: {1,2}",
rdr["ProductName"],
rdr["Total"]);
}
}
finally
{
if (conn != null)
{
conn.Close();
}
if (rdr != null)
{
rdr.Close();
}
}
}
using (SqlConnection conn = new SqlConnection(databaseConnectionString))
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "StoredProcedureName";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ID", fileID);
conn.Open();
using (SqlDataReader rdr =
cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
if (rdr.Read())
{
// process row from resultset;
}
}
}
}
string sql = "MyProcedureName";
using (var cn = new SqlConnection(databaseConnectionString))
using (var cmd = new SqlCommand(sql, cn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@ParameterName", SqlDbType.VarChar, 50)
.Value = "MyParameterValue";
conn.Open();
using (SqlDataReader rdr =
cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
if (rdr.Read())
{
// process row from resultset;
}
}
}