در این مقاله می خواهم نحوه اتصال به پایگاه داده SQL SERVER و اجرای دستورات sql را شرح بدهم. برای این کار یک مثال عملی را دنبال می کنیم.
کلاس های زیر برای کار با پایگاه داده مورد نیاز است :
در این مقاله می خواهم نحوه اتصال به پایگاه داده SQL SERVER و اجرای دستورات sql را شرح بدهم. برای این کار یک مثال عملی را دنبال می کنیم.
کلاس های زیر برای کار با پایگاه داده مورد نیاز است :
<body>
<form id="form1" runat="server">
<div style="direction: rtl;">
<div>
<asp:Label runat="server" ID="lblMessage" />
< SPAN>div>
<div>
<asp:GridView runat="server" ID="gvNames">
< SPAN>asp:GridView>
< SPAN>div>
<div>
<asp:TextBox runat="server" ID="txtName" Text="" />
<asp:Button runat="server" ID="btnAdd" Text="افزودن" OnClick="btnAdd_Click" />
< SPAN>div>
< SPAN>div>
< SPAN>form>
< SPAN>body>
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Names](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Names] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Names_GetAll]
AS
BEGIN
SELECT * FROM [Names] ORDER BY id;
END
private readonly string cs = "server=.;Initial Catalog=SampleDb;Integrated Security=SSPI;Persist Security Info=False;";
private void RebindNames()
{
using (SqlConnection cnx = new SqlConnection(cs))
{
using (SqlDataAdapter adapter = new SqlDataAdapter("Names_GetAll", cnx))
{
using (DataTable dt = new DataTable())
{
adapter.Fill(dt);
gvNames.DataSource = dt;
gvNames.DataBind();
}
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RebindNames();
}
}
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Names_Add]
@Name nvarchar(50), @Id int OUTPUT
AS
BEGIN
INSERT INTO [Names] ([name]) VALUES (@Name);
SELECT @Id = SCOPE_IDENTITY();
END
protected void btnAdd_Click(object sender, EventArgs e)
{
using (SqlConnection cnx = new SqlConnection(cs))
{
using (SqlCommand cmd = new SqlCommand("Names_Add", cnx))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Name", SqlDbType.NVarChar, 50).Value = txtName.Text;
cmd.Parameters.Add("@Id", SqlDbType.Int).Direction = ParameterDirection.Output;
cnx.Open();
cmd.ExecuteNonQuery();
lblMessage.Text = string.Format("نام {0} افزوده شد، کد : {1}", txtName.Text, cmd.Parameters["@Id"].Value);
}
}
RebindNames();
}