gpt4 book ai didi

c# - 如何用后面的c#代码创建sql连接,访问sql server然后有条件地重定向?

转载 作者:太空狗 更新时间:2023-10-29 17:33:24 24 4
gpt4 key购买 nike

这是一个有经验的初学者的问题!

使用 ASP.NET 4 C# 和 SQL 服务器,

我在 web.config 中有一个连接字符串到名为“myCS”的 myDatabase。我有一个名为 myDB 的数据库。我有一个名为 myTable 的表,其主键名为 myPK

创建 SQL 连接的必要代码行(最少代码)是什么,然后从 myTable 中选择 myPK=="simpleText"

它可能包括:

sqlconnection conn = new sqlconnection(??? myCS)
string SQLcommand = select * from myDB.myTable where myPK==myTestString;
sqlCommand command = new SqlCommand(SQL,conn);

conn.Open();

booleanFlag = ????

conn.Close();
conn.Dispose();

然后

If ( theAnswer  != NULL )  // or (if flag)
{
Response.Redirect("Page1.aspx");
}
else
{
Response.Redirect("Page2.aspx");
}

最佳答案

这里是一个有限的简单教程:

首先,您希望有一个类为您完成繁重的工作,然后您将轻松使用它。

首先,您必须在 web.config 文件中创建连接字符串并为其命名。这里命名为DatabaseConnectionString,但您可以根据问题的要求将其命名为myCS

现在,在 App_Code 中创建一个新的类文件并将其命名为 SqlComm(这只是一个示例名称),例如:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;

public class SqlComm
{
// this is a shortcut for your connection string
static string DatabaseConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["dbConStr"].ConnectionString;

// this is for just executing sql command with no value to return
public static void SqlExecute(string sql)
{
using (SqlConnection conn = new SqlConnection(DatabaseConnectionString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
}

// with this you will be able to return a value
public static object SqlReturn(string sql)
{
using (SqlConnection conn = new SqlConnection(DatabaseConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
object result = (object)cmd.ExecuteScalar();
return result;
}
}

// with this you can retrieve an entire table or part of it
public static DataTable SqlDataTable(string sql)
{
using (SqlConnection conn = new SqlConnection(DatabaseConnectionString))
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Connection.Open();
DataTable TempTable = new DataTable();
TempTable.Load(cmd.ExecuteReader());
return TempTable;
}
}

// sooner or later you will probably use stored procedures.
// you can use this in order to execute a stored procedure with 1 parameter
// it will work for returning a value or just executing with no returns
public static object SqlStoredProcedure1Param(string StoredProcedure, string PrmName1, object Param1)
{
using (SqlConnection conn = new SqlConnection(DatabaseConnectionString))
{
SqlCommand cmd = new SqlCommand(StoredProcedure, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter(PrmName1, Param1.ToString()));
cmd.Connection.Open();
object obj = new object();
obj = cmd.ExecuteScalar();
return obj;
}
}
}

好了,这只是一个类,现在你应该知道如何使用它了:

如果你想执行删除、插入、更新等命令,请使用:

SqlComm.SqlExecute("TRUNCATE TABLE Table1");

但如果您需要从数据库中检索特定值,请使用:

int myRequiredScalar = 0;
object obj = new object();
obj = SqlComm.SqlReturn("SELECT TOP 1 Col1 FROM Table1");
if (obj != null) myRequiredScalar = (int)obj;

您可以通过这种方式从数据库中检索一堆行(其他类似其他方式)这与您的具体问题有关

int Col1Value = 0;
DataTable dt = new DataTable();
dt = SqlComm.SqlDataTable("SELECT * FROM myTable WHERE myPK='simpleText'");
if (dt.Rows.Count == 0)
{
// do something if the query return no rows
// you may insert the relevant redirection you asked for
}
else
{
// Get the value of Col1 in the 3rd row (0 is the first row)
Col1Value = (int)dt.Rows[2]["Col1"];

// or just make the other redirection from your question
}

如果您需要执行带或不带返回值的存储过程,这就是执行该操作的方法(在此示例中没有返回值)

SqlComm.SqlStoredProcedure1Param("TheStoredProcedureName", "TheParameterName", TheParameterValue);

同样,对于您的特定问题,使用 SqlDataTable 返回表,如果 dt.Rows.Count >0

则重定向

玩得开心。

关于c# - 如何用后面的c#代码创建sql连接,访问sql server然后有条件地重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com