0
کلاس اتصال به بانک SQL در C#.Net
با سلام و احترام
من در ویژوال استودیو2017 یک کلاس به صورت زیر ایجاد کردم
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Data;
namespace WindowsFormsApp1
{
class Class1
{
private static string connectionstring = "Data Source=127.0.0.1;Initial Catalog=MyTable;User ID=MyUser;Password=MyPassword";
public Boolean SetData(SqlCommand sqlstr)
{
SqlConnection mconnection = new SqlConnection(connectionstring);
sqlstr.Connection = mconnection;
sqlstr.CommandType = CommandType.Text;
mconnection.Open();
try
{
sqlstr.ExecuteNonQuery();
return true;
}
catch (SqlException myerror)
{
return false;
}
finally
{
mconnection.Close();
mconnection.Dispose();
}
}
public DataTable GetData(SqlCommand sqlcommand)
{
SqlConnection mconnection = new SqlConnection(connectionstring);
sqlcommand.Connection = mconnection;
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = sqlcommand;
DataTable table = new DataTable();
try
{
adapter.Fill(table);
}
catch (SqlException myerror)
{
}
finally
{
mconnection.Dispose();
}
return table;
}
}
}
سپس 2 عدد TextBox و یک عدد دکمه روی فرم قرار داده ام.
برای دریافت اطلاعات از بانک اطلاعاتی کد زیر را وارد نموده ام.
Class1 dbc = new Class1();
SqlCommand cmd = new SqlCommand("select * from ULogin where ULogin.u=@n and ULogin.p=@t ");
cmd.Parameters.AddWithValue("@n", TextName.Text.Trim());
cmd.Parameters.AddWithValue("@t", TextFamil.Text.Trim());
DataTable table1 = new DataTable();
table1 = dbc.GetData(cmd);
و برای افزودن کد زیر را به کار می برم
Class1 dbc = new Class1();
SqlCommand cmd = new SqlCommand("insert into ULogin (u ,p) values(@u , @p)");
cmd.Parameters.AddWithValue("@u", TextBox1.Text.Trim());
cmd.Parameters.AddWithValue("@p", TextBox2.Text.Trim());
Boolean s;
s = dbc.SetData(cmd);
ولی هنگام اجرا سیستم هنگ کرده و چیزی را بر نمی گرداند.
اشکال در کدام بخش کد من می باشد که خطا میگیره. ظاهرا که همه چیز باید درست باشه.
2 پاسخ
1
با سپاس و تشکر از شما دوست عزیز
0
public class DataAccess
{
public void SetData(SqlCommand command)
{
try
{
command.Connection = new SqlConnection
("Data Source=.;Initial Catalog=MyTable;User ID=MyUser;Password=MyPassword");
command.CommandType = System.Data.CommandType.Text;
command.Connection.Open();
command.ExecuteNonQuery();
}
catch(Exception ex)
{
throw ex;
}
finally
{
command.Connection.Close();
command.Connection.Dispose();
}
}
public DataTable GetData(SqlCommand command)
{
try
{
command.Connection = new SqlConnection
("Data Source=.;Initial Catalog=MyTable;User ID=MyUser;Password=MyPassword");
command.CommandType = CommandType.Text;
command.Connection.Open();
var dataAdapter = new SqlDataAdapter(command);
var dataTable = new DataTable();
dataAdapter.Fill(dataTable);
return dataTable;
}
catch (Exception ex)
{
throw ex;
}
finally
{
command.Connection.Close();
command.Connection.Dispose();
}
}
}