使用SQL Server访问asp
本文关键字:asp 访问 Server SQL 使用 | 更新日期: 2023-09-27 18:03:34
string conn = "";
conn = ConfigurationManager.ConnectionStrings["Conn"].ToString();
SqlConnection objsqlconn = new SqlConnection(conn);
objsqlconn.Open();
SqlCommand objcmd = new SqlCommand("IF (select 1 from PRODUCT where PRODUCT_NAME=" + Master_product_txt.Text + ")=1
PRINT 'ALREADY AVAILABLE'
ELSE
Insert into PRODUCT(PRODUCT_NAME) Values('" + Master_product_txt.Text + "')
GO", objsqlconn);
objcmd.ExecuteNonQuery();
MessageBox.Show("Details Successfully Added!!!");
我试图检查数据库值之前插入值,我已经为它写了查询,它在sql server环境中工作,我无法在Visual Studio中实现相同的东西
-
go
是一个SSMS (SQL Server Management Studio)语句,它不会从c# - 使用参数避免SQL注入 在c# 中使用匈牙利语
obj
前缀是不寻常的一个更好的版本的快速尝试:
var cmd = new SqlCommand(@"
IF NOT EXISTS (SELECT * FROM PRODUCT WHERE PRODUCT_NAME = @NAME)
BEGIN
INSERT INTO PRODUCT (PRODUCT_NAME) VALUES (@NAME)
END
", sqlconn);
cmd.Parameters.AddWithValue("@NAME", Master_product_txt.Text);
cmd.ExecuteNonQuery();
SqlCommand objcmd = new SqlCommand("SELECT 1 from PRODUCT WHERE PRODUCT_NAME=@NAME" , objsqlconn);
//NVarChar
cmd.Parameters.Add("@NAME", SqlDbType.NVarChar,20).Value = Master_product_txt.Text;
objsqlconn.Open();
readr = SelectCommand.ExecuteReader();
if (!readr.HasRows)
{
`// code to insert values here.
}`
打印"已可用"在这里不起作用。为了捕获打印语句消息,您必须向连接上的InfoMessage事件添加一个事件处理程序。尽可能使用参数化查询。div;)