دسته بندی ها
12:45 1399/04/13
مشکل کد در بخش connection string - عدم اتصال به بانک اطلاعاتی
با سلام
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using peayman.admin_panel;
using peayman.modula;
using DataModeLlayer.Models;
using System.Security.Cryptography;
using peayman.Properties.admin_panel;
using Microsoft.Win32;
namespace peayman
{
public partial class frm_lagin : Form
{
public frm_lagin()
{
InitializeComponent();
}
private void btn_exit_Click(object sender, EventArgs e)
{
System.Environment.Exit(0); //4
}
private void frm_lagin_Load(object sender, EventArgs e) //4
{
// خواندن نقطه اتصال از رجستری
string RegisteryConnectinString = "";
RegistryKey ConnectinString = Registry.CurrentUser.CreateSubKey("SOFTWAER\\Arghavan_nesa_Connection");
RegisteryConnectinString = ConnectinString.GetValue("ConnectinForArghavan").ToString();
try
{
if (RegisteryConnectinString == "")
{
MessageBox.Show("پارامترهای ارتباط با سرور را بررسی کنید");
btn_enter.Enabled = false;
}
else
{
publicvaliabel.MainConnectionString = CryptionAlgorithm.DecryptTextUsingUTF8( RegisteryConnectinString);
}
}
catch
{
btn_enter.Enabled = false;
MessageBox.Show("ارتباط با سرور برقرار نیست");
}
//نمایش تاریخ
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar(); //4
lbl_date.Text = string.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(pc.GetYear(DateTime.Now) + "/" + pc.GetMonth(DateTime.Now) + "/" + pc.GetDayOfMonth(DateTime.Now)));//13 تهیه ماژولها
publicvaliabel.todaydate = lbl_date.Text.Trim(); //13
///نمایش ای پی
///
string computername = System.Environment.MachineName;
string ip = "";
IPHostEntry ipe = Dns.GetHostByName(computername);
IPAddress[] ipaddress = ipe.AddressList;
lbl_ip.Text = ipaddress[0].ToString();
timer1_Tick(sender,e);
}//4
private void timer1_Tick(object sender, EventArgs e) //4
{
timer1.Enabled = true;
timer1.Interval = 1000;
lbl_time.Text = DateTime.Now.Hour + " : " + DateTime.Now.Minute + " : " + DateTime.Now.Second;
lbl_time.Refresh();
}//4
private void btn_enter_Click(object sender, EventArgs e)
{
peaman_systemEntities database = new peaman_systemEntities(publicvaliabel.MainConnectionString);
try //17
{
if (txt_username.Text.Trim() != "" && txt_password.Text.Trim() != "") //17
{
//////hash password
SHA256CryptoServiceProvider sha256 = new SHA256CryptoServiceProvider(); //17
Byte[] B1;
Byte[] B2;
B1 = UTF8Encoding.UTF8.GetBytes(txt_password.Text.Trim());
B2 = sha256.ComputeHash(B1);
string hashedpassword = BitConverter.ToString(B2);//17
//////////
//17
var login_query = (from u in database.Users
where u.username == txt_username.Text.Trim()
where u.password == hashedpassword
where u.activity == 1
select u).ToList(); //17
if (login_query.Count == 1) //17
{
///به دست آوردن مشخصات کاربران جهت استفاد در سرتاسر برنامه //
publicvaliabel.guserfirsname = login_query[0].userfirstname;
publicvaliabel.guserfamily = login_query[0].userfamily;
publicvaliabel.guserid = login_query[0].userid; // 17
///ثبت اطلاعات کامپیوتر و ورود و خروج کاربر 22
string computername = System.Environment.MachineName; //22
/// DateTime.Now.Hour + " : " + DateTime.Now.Minute + " : " + DateTime.Now.Second;
UserLog ul = new UserLog();
ul.computername = computername;
ul.apaddress = lbl_ip.Text.Trim();
ul.enterdatetime=lbl_date.Text + "-"+
string.Format("{0:HH:mm:ss}",Convert.ToDateTime( DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second));
ul.userid = publicvaliabel.guserid;
database.UserLogs.Add(ul);
database.SaveChanges();
} //22
else
{
MessageBox.Show("کاربر ی با این مشخصات یافت نشد");
return;
}
/////////////////////////
if (rdb_admin.Checked) //17
{
if (login_query[0].username == "admin")
{
publicvaliabel.gsetuser = 1;////admin
}
else
{
MessageBox.Show("کاربر ی با این مشخصات یافت نشد");
return;
}
}
else
{
publicvaliabel.gsetuser = 2;/////user 17
}
this.Close();
}
}
catch
{
MessageBox.Show("در ارتباط با شبکه مشکلی به وجود آمد لطفا دوباره تلاش کنید");//17
return; //17
}
}
private void lbl_setserverparameter_Click(object sender, EventArgs e)
{
Frm_SetServer frm_sserver = new Frm_SetServer();
frm_sserver.ShowDialog();
}
}
}
این هم کد های ست کردن پارامنرها به صورت دینامیک
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Entity.Core.EntityClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Win32;
using peayman.modula;
namespace peayman.Properties.admin_panel
{
public partial class Frm_SetServer : Form
{
public Frm_SetServer()
{
InitializeComponent();
}
private void btn_exit_Click(object sender, EventArgs e)
{
this.Close();
}
public static string BuildEntityConection(string EntityConnection_Dynamic)
{
///ساختن کانکشنی که به صورت داینامیک انتتی بتوان از آن استفاده بکند
var entityConnection = new EntityConnectionStringBuilder
{
Provider = "System.Data.SqlClient",
ProviderConnectionString = EntityConnection_Dynamic,
Metadata = "res://*"
};
return entityConnection.ToString();
}
private void btn_enter_Click(object sender, EventArgs e)
{
// تنظیم اتصال کامپیوتر به سرور
if(txt_serverip.Text == "" || txt_dbname.Text =="" || txt_dbpssword.Text== "")
{
MessageBox.Show("پارامترهای خواسته شده را تکمیل نمایید");
return;
}
var EntityConnectinString = BuildEntityConection("Data Source=" + txt_serverip.Text.Trim() + ";Initial Catalog=" + txt_dbname.Text.Trim()
+ ";user Id=sa;Password=" + txt_dbpssword.Text.Trim() + ";Integrated Security=True");
try
{
RegistryKey connectinKey = Registry.CurrentUser.CreateSubKey("SOFTWAER\\Arghavan_nesa_Connection");
try
{
connectinKey.SetValue("ConnectinForArghavan",CryptionAlgorithm.EncryptTextUsingUTF8( EntityConnectinString));
}
catch
{
MessageBox.Show("در ارتباط با سرور مشکلی به وجود آمده است");
}
finally
{
connectinKey.Close();
}
MessageBox.Show("ارتباط با سرور برقرار شد لطفا از سیستم خارج و مجددا وارد شوید");
this.Close();
}
catch
{
MessageBox.Show("در ارتباط با سرور مشکلی به وجود آمده است");
return;
}
}
}
}
مشکل این کد من چیه که کانکشن نمیشه
ویرایش شده در سه شنبه 11 آذر 1399 ساعت 19:10:56
مشخصات سوال کننده :
کاربر : Piman_b
امتیاز کاربر : −2
رتبه کاربر : 7142
به این سوال امتیاز بدهید
−1
تعداد بازدید این سوال : 3297
1 نظر
fateme :
بهتر بود بفرمایید خطایی که دارید چی هست چون بررسی این همه کد و پیدا کردن خطا کار آسونی نیست !!
امتیاز کاربر : 1635
رتبه کاربر : 2
تاریخ ثبت : 07:09 1399/09/11
هوش مصنوعی
پاسخ هوش مصنوعی
برای حل مشکل عدم اتصال به بانک اطلاعاتی در کد شما، موارد زیر را بررسی کنید:
- بررسی رشته اتصال: مطمین شوید که رشته اتصال (`ConnectionString`) به درستی تنظیم شده است و اطلاعاتی مانند
Data Source،Initial Catalog،User IdوPasswordصحیح هستند. - موجود بودن Sql Server: بررسی کنید که Sql Server در حال اجرا باشد و به آدرس صحیحی متصل شوید.
- مجوزهای کاربری: کاربر (`sa`) باید مجوزهای کافی برای دسترسی به بانک اطلاعاتی موجود در
Initial Catalogداشته باشد. - خطاهای ثبت شده: در کد شما بخش
catchبدون نمایش متن است. به جایcatchفعلی، استفاده ازcatch (Exception ex)و ثبت یا نمایشex.Messageمی تواند به تشخیص دقیقتر مشکل کمک کند. - تنظیمات دسترسی شبکه: چک کنید که firewall یا تنظیمات شبکه مانع از دسترسی به Sql Server نشود.
با بررسی این موارد، می توانید مشکل اتصال به بانک اطلاعاتی را شناسایی و حل کنید.
پاسخ دهنده : Piman_b
00:16 1399/04/14
هر کانکشن از ثابت به دینامیک تغییر دادم حالا هر کاری میکنم اتصال برقرار نمیشه...
میگه در ارتباط با شبکه مشکلی به وجود آمده لطفا دوبار تلاش کنید
پاسخ دهنده : Piman_b
23:48 1399/04/14
نمیدونم مشکلش چیه ولی هنوز نوشته ها در هم سرو ته نداره....
آخرین سوالات ثبت شده
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
سوالات مرتبط
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود