/
DataTimeModule
/
DateTime
Обзор
Документация
Войти
/
DataTimeModule
/
DateTime
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
SQLDataDriver/Db.cs
117 строк
3 KB
Reeltell
upload
27 май 2026, 01:50
27 май 2026, 01:50
f282598
Код
Авторство
О чём код?
using Microsoft.Data.SqlClient; using System.Data; namespace SQLDataDriver; internal static class Db { private const string Cs = "Data Source=localhost;Initial Catalog=SQLDataDriver;Integrated Security=True;TrustServerCertificate=True"; public static SqlConnection Open() { var c = new SqlConnection(Cs); c.Open(); return c; } public static SqlCommand Cmd(SqlConnection c, string sql, params (string, object?)[] p) { var cmd = new SqlCommand(sql, c); foreach (var x in p) cmd.Parameters.AddWithValue(x.Item1, x.Item2 ?? DBNull.Value); return cmd; } public static void Read(string sql, Action<SqlDataReader> row, params (string, object?)[] p) { using var c = Open(); using var cmd = Cmd(c, sql, p); using var r = cmd.ExecuteReader(); while (r.Read()) row(r); } public static bool One(string sql, Action<SqlDataReader> row, params (string, object?)[] p) { using var c = Open(); using var cmd = Cmd(c, sql, p); using var r = cmd.ExecuteReader(); if (!r.Read()) return false; row(r); return true; } public static void Exec(string sql, params (string, object?)[] p) { using var c = Open(); using var cmd = Cmd(c, sql, p); cmd.ExecuteNonQuery(); } public static object? Scalar(string sql, params (string, object?)[] p) { using var c = Open(); using var cmd = Cmd(c, sql, p); return cmd.ExecuteScalar(); } public static string S(SqlDataReader r, string name) { object v = r[name]; return v == DBNull.Value ? "" : v.ToString()!.Trim(); } public static int I(SqlDataReader r, string name) { object v = r[name]; return v == DBNull.Value ? 0 : Convert.ToInt32(v); } public static decimal D(SqlDataReader r, string name) { object v = r[name]; return v == DBNull.Value ? 0m : Convert.ToDecimal(v); } public static DateTime T(SqlDataReader r, string name) { object v = r[name]; return v == DBNull.Value ? DateTime.MinValue : Convert.ToDateTime(v); } public static void Combo(ComboBox box, string sql, string display, string value) { using var c = Open(); var t = new DataTable(); new SqlDataAdapter(sql, c).Fill(t); box.DisplayMember = display; box.ValueMember = value; box.DataSource = t; } public static bool Confirm(string text) { return MessageBox.Show(text, "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes; } public static void Error(string text) { MessageBox.Show(text, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } public static Image GetImage(string? fileName) { string path = Path.Combine(AppContext.BaseDirectory, "Images", fileName?.Trim() ?? ""); if (!File.Exists(path)) path = Path.Combine(AppContext.BaseDirectory, "Images", "picture.png"); using var image = Image.FromFile(path); return new Bitmap(image); } }