PDA

View Full Version : تبدیل String به کد اجرایی



shahrabiamir
پنج شنبه 23 آذر 1402, 11:21 صبح
با سلام
توی سی شارپ مثل اینکه امکانش هست بشه یه string به شرط، تابع یا دستور Sql تبدیل نمود. من دنبال به راه حل واحد هستم که بشه اینکار رو انجام داد اما به چیزی نرسیدم.
ممنون میشم راهنمایی کنید

mmbguide
پنج شنبه 23 آذر 1402, 11:34 صبح
سلام. یک نگاهی به آدرس زیر بندازید:

https://www.c-sharpcorner.com/uploadfile/puranindia/reflection-and-reflection-emit-in-C-Sharp/

پرستو پارسایی
پنج شنبه 23 آذر 1402, 18:29 عصر
بله، در C#‎‎‎ می‌توانید از کلاس SqlCommand و پارامترهای آن برای ایجاد و اجرای دستورات SQL استفاده کنید. برای تبدیل یک رشته (string) به یک دستور SQL، می‌تونید از پارامترها و دستور Parameters.AddWithValue استفاده کنید. این روش تقریبا از Injection attacks ، جلوگیری می‌کند و امنیت بیشتری را فراهم می‌کنه.

string name = "John Doe";
string query = "SELECT * FROM Customers WHERE Name = @Name";


using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();

using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Name", name);

// اجرای دستور و دریافت نتیجه
SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
// پردازش نتیجه
}

reader.Close();
}
}

mazoolagh
پنج شنبه 23 آذر 1402, 18:36 عصر
سلام و روز خوش

mmbguide@ : فکر کنم منظور استارتر تاپیک اجرای مستقیم یک تکه کد SQL هست،
و نه اجرای یک تکه کد #C (که با همون system.reflection انجام میشه).

shahrabiamir@ : شما میتونین متن کد رو به عنوان commandtext یک sqlcommand استفاده کنین و با توجه به ماهیت کد،
متد مناسب برای sqlcommand رو به کار بگیرین : executereader , executescalar , executenonquery , ...
که به احتمال زیاد executenonquery خواهد بود به ویژه اگر کد شما کد ساخت stored procedure باشه.