diff --git a/AdoNetDemo/AdoNetDemo.csproj b/AdoNetDemo/AdoNetDemo.csproj new file mode 100644 index 0000000..22ce8f8 --- /dev/null +++ b/AdoNetDemo/AdoNetDemo.csproj @@ -0,0 +1,79 @@ + + + + + Debug + AnyCPU + {51E46E60-2B3F-4811-A8B5-6A9E2C7C206A} + WinExe + AdoNetDemo + AdoNetDemo + v4.6.1 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + Form + + + Form1.cs + + + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/AdoNetDemo/App.config b/AdoNetDemo/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/AdoNetDemo/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/AdoNetDemo/Form1.Designer.cs b/AdoNetDemo/Form1.Designer.cs new file mode 100644 index 0000000..bea25e3 --- /dev/null +++ b/AdoNetDemo/Form1.Designer.cs @@ -0,0 +1,301 @@ +namespace AdoNetDemo +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.dgvProducts = new System.Windows.Forms.DataGridView(); + this.label1 = new System.Windows.Forms.Label(); + this.txtName = new System.Windows.Forms.TextBox(); + this.txtUnitPrice = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.txtStockAmount = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.gbAdd = new System.Windows.Forms.GroupBox(); + this.btnAdd = new System.Windows.Forms.Button(); + this.gbUpdate = new System.Windows.Forms.GroupBox(); + this.txtIdUpdate = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.btnUpdate = new System.Windows.Forms.Button(); + this.txtNameUpdate = new System.Windows.Forms.TextBox(); + this.txtStockAmountUpdate = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.txtUnitPriceUpdate = new System.Windows.Forms.TextBox(); + this.gbDelete = new System.Windows.Forms.GroupBox(); + this.btnRemove = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.dgvProducts)).BeginInit(); + this.gbAdd.SuspendLayout(); + this.gbUpdate.SuspendLayout(); + this.gbDelete.SuspendLayout(); + this.SuspendLayout(); + // + // dgvProducts + // + this.dgvProducts.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; + this.dgvProducts.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvProducts.Location = new System.Drawing.Point(12, 12); + this.dgvProducts.Name = "dgvProducts"; + this.dgvProducts.Size = new System.Drawing.Size(726, 197); + this.dgvProducts.TabIndex = 0; + this.dgvProducts.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvProducts_CellClick); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(18, 22); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(35, 13); + this.label1.TabIndex = 1; + this.label1.Text = "Name"; + // + // txtName + // + this.txtName.Location = new System.Drawing.Point(98, 19); + this.txtName.Name = "txtName"; + this.txtName.Size = new System.Drawing.Size(134, 20); + this.txtName.TabIndex = 2; + // + // txtUnitPrice + // + this.txtUnitPrice.Location = new System.Drawing.Point(98, 45); + this.txtUnitPrice.Name = "txtUnitPrice"; + this.txtUnitPrice.Size = new System.Drawing.Size(134, 20); + this.txtUnitPrice.TabIndex = 4; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(18, 48); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(53, 13); + this.label2.TabIndex = 3; + this.label2.Text = "Unit Price"; + // + // txtStockAmount + // + this.txtStockAmount.Location = new System.Drawing.Point(98, 71); + this.txtStockAmount.Name = "txtStockAmount"; + this.txtStockAmount.Size = new System.Drawing.Size(134, 20); + this.txtStockAmount.TabIndex = 6; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(18, 74); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(74, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Stock Amount"; + // + // gbAdd + // + this.gbAdd.Controls.Add(this.btnAdd); + this.gbAdd.Controls.Add(this.txtName); + this.gbAdd.Controls.Add(this.txtStockAmount); + this.gbAdd.Controls.Add(this.label1); + this.gbAdd.Controls.Add(this.label3); + this.gbAdd.Controls.Add(this.label2); + this.gbAdd.Controls.Add(this.txtUnitPrice); + this.gbAdd.Location = new System.Drawing.Point(12, 215); + this.gbAdd.Name = "gbAdd"; + this.gbAdd.Size = new System.Drawing.Size(238, 129); + this.gbAdd.TabIndex = 7; + this.gbAdd.TabStop = false; + this.gbAdd.Text = "Add a product"; + // + // btnAdd + // + this.btnAdd.Location = new System.Drawing.Point(98, 97); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(134, 23); + this.btnAdd.TabIndex = 7; + this.btnAdd.Text = "Add"; + this.btnAdd.UseVisualStyleBackColor = true; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // + // gbUpdate + // + this.gbUpdate.Controls.Add(this.txtIdUpdate); + this.gbUpdate.Controls.Add(this.label7); + this.gbUpdate.Controls.Add(this.btnUpdate); + this.gbUpdate.Controls.Add(this.txtNameUpdate); + this.gbUpdate.Controls.Add(this.txtStockAmountUpdate); + this.gbUpdate.Controls.Add(this.label4); + this.gbUpdate.Controls.Add(this.label5); + this.gbUpdate.Controls.Add(this.label6); + this.gbUpdate.Controls.Add(this.txtUnitPriceUpdate); + this.gbUpdate.Location = new System.Drawing.Point(256, 215); + this.gbUpdate.Name = "gbUpdate"; + this.gbUpdate.Size = new System.Drawing.Size(238, 152); + this.gbUpdate.TabIndex = 8; + this.gbUpdate.TabStop = false; + this.gbUpdate.Text = "Update a product"; + // + // txtIdUpdate + // + this.txtIdUpdate.Location = new System.Drawing.Point(98, 19); + this.txtIdUpdate.Name = "txtIdUpdate"; + this.txtIdUpdate.Size = new System.Drawing.Size(134, 20); + this.txtIdUpdate.TabIndex = 9; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(18, 22); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(16, 13); + this.label7.TabIndex = 8; + this.label7.Text = "Id"; + // + // btnUpdate + // + this.btnUpdate.Location = new System.Drawing.Point(98, 123); + this.btnUpdate.Name = "btnUpdate"; + this.btnUpdate.Size = new System.Drawing.Size(134, 23); + this.btnUpdate.TabIndex = 7; + this.btnUpdate.Text = "Update"; + this.btnUpdate.UseVisualStyleBackColor = true; + this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click); + // + // txtNameUpdate + // + this.txtNameUpdate.Location = new System.Drawing.Point(98, 45); + this.txtNameUpdate.Name = "txtNameUpdate"; + this.txtNameUpdate.Size = new System.Drawing.Size(134, 20); + this.txtNameUpdate.TabIndex = 2; + // + // txtStockAmountUpdate + // + this.txtStockAmountUpdate.Location = new System.Drawing.Point(98, 97); + this.txtStockAmountUpdate.Name = "txtStockAmountUpdate"; + this.txtStockAmountUpdate.Size = new System.Drawing.Size(134, 20); + this.txtStockAmountUpdate.TabIndex = 6; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(18, 48); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(35, 13); + this.label4.TabIndex = 1; + this.label4.Text = "Name"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(18, 100); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(74, 13); + this.label5.TabIndex = 5; + this.label5.Text = "Stock Amount"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(18, 74); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(53, 13); + this.label6.TabIndex = 3; + this.label6.Text = "Unit Price"; + // + // txtUnitPriceUpdate + // + this.txtUnitPriceUpdate.Location = new System.Drawing.Point(98, 71); + this.txtUnitPriceUpdate.Name = "txtUnitPriceUpdate"; + this.txtUnitPriceUpdate.Size = new System.Drawing.Size(134, 20); + this.txtUnitPriceUpdate.TabIndex = 4; + // + // gbDelete + // + this.gbDelete.Controls.Add(this.btnRemove); + this.gbDelete.Location = new System.Drawing.Point(500, 215); + this.gbDelete.Name = "gbDelete"; + this.gbDelete.Size = new System.Drawing.Size(238, 49); + this.gbDelete.TabIndex = 9; + this.gbDelete.TabStop = false; + this.gbDelete.Text = "Delete a product"; + // + // btnRemove + // + this.btnRemove.Location = new System.Drawing.Point(98, 17); + this.btnRemove.Name = "btnRemove"; + this.btnRemove.Size = new System.Drawing.Size(134, 23); + this.btnRemove.TabIndex = 7; + this.btnRemove.Text = "Remove"; + this.btnRemove.UseVisualStyleBackColor = true; + this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(748, 450); + this.Controls.Add(this.gbDelete); + this.Controls.Add(this.gbUpdate); + this.Controls.Add(this.gbAdd); + this.Controls.Add(this.dgvProducts); + this.Name = "Form1"; + this.Text = "Form1"; + this.Load += new System.EventHandler(this.Form1_Load); + ((System.ComponentModel.ISupportInitialize)(this.dgvProducts)).EndInit(); + this.gbAdd.ResumeLayout(false); + this.gbAdd.PerformLayout(); + this.gbUpdate.ResumeLayout(false); + this.gbUpdate.PerformLayout(); + this.gbDelete.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.DataGridView dgvProducts; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtName; + private System.Windows.Forms.TextBox txtUnitPrice; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtStockAmount; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.GroupBox gbAdd; + private System.Windows.Forms.Button btnAdd; + private System.Windows.Forms.GroupBox gbUpdate; + private System.Windows.Forms.Button btnUpdate; + private System.Windows.Forms.TextBox txtNameUpdate; + private System.Windows.Forms.TextBox txtStockAmountUpdate; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtUnitPriceUpdate; + private System.Windows.Forms.TextBox txtIdUpdate; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.GroupBox gbDelete; + private System.Windows.Forms.Button btnRemove; + } +} + diff --git a/AdoNetDemo/Form1.cs b/AdoNetDemo/Form1.cs new file mode 100644 index 0000000..16b761f --- /dev/null +++ b/AdoNetDemo/Form1.cs @@ -0,0 +1,75 @@ +using System; +using System.Windows.Forms; + +namespace AdoNetDemo +{ + public partial class Form1 : Form + { + ProductDal _productDal = new ProductDal(); + public Form1() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + LoadProducts(); + } + + private void LoadProducts() + { + dgvProducts.DataSource = _productDal.GetAll(); + } + + private void btnAdd_Click(object sender, EventArgs e) + { + _productDal.Add(new Product + { + Name = txtName.Text, + UnitPrice = Convert.ToDecimal(txtUnitPrice.Text), + StockAmount = Convert.ToInt32(txtStockAmount.Text) + }); + LoadProducts(); + MessageBox.Show("Product Added!"); + } + + private void dgvProducts_CellClick(object sender, DataGridViewCellEventArgs e) + { + if (dgvProducts.CurrentRow != null) + { + txtIdUpdate.Text = dgvProducts.CurrentRow.Cells[0].Value.ToString(); + txtNameUpdate.Text = dgvProducts.CurrentRow.Cells[1].Value.ToString(); + txtUnitPriceUpdate.Text = dgvProducts.CurrentRow.Cells[2].Value.ToString(); + txtStockAmountUpdate.Text = dgvProducts.CurrentRow.Cells[3].Value.ToString(); + } + } + + private void btnUpdate_Click(object sender, EventArgs e) + { + if (dgvProducts.CurrentRow != null) + { + Product product = new Product + { + Id = Convert.ToInt32(dgvProducts.CurrentRow.Cells[0].Value), + Name = txtNameUpdate.Text, + UnitPrice = Convert.ToDecimal(txtUnitPriceUpdate.Text), + StockAmount = Convert.ToInt32(txtStockAmountUpdate.Text) + }; + _productDal.Update(product); + } + LoadProducts(); + MessageBox.Show("Updated!"); + } + + private void btnRemove_Click(object sender, EventArgs e) + { + if (dgvProducts.CurrentRow != null) + { + int id = Convert.ToInt32(dgvProducts.CurrentRow.Cells[0].Value); + _productDal.Delete(id); + } + LoadProducts(); + MessageBox.Show("Deleted!"); + } + } +} \ No newline at end of file diff --git a/AdoNetDemo/Form1.resx b/AdoNetDemo/Form1.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AdoNetDemo/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/AdoNetDemo/Product.cs b/AdoNetDemo/Product.cs new file mode 100644 index 0000000..f0ccd63 --- /dev/null +++ b/AdoNetDemo/Product.cs @@ -0,0 +1,10 @@ +namespace AdoNetDemo +{ + public class Product + { + public int Id { get; set; } + public string Name { get; set; } + public decimal UnitPrice { get; set; } + public int StockAmount { get; set; } + } +} \ No newline at end of file diff --git a/AdoNetDemo/ProductDal.cs b/AdoNetDemo/ProductDal.cs new file mode 100644 index 0000000..d7eb046 --- /dev/null +++ b/AdoNetDemo/ProductDal.cs @@ -0,0 +1,95 @@ +namespace AdoNetDemo +{ + using System; + using System.Collections.Generic; + using System.Data.SqlClient; + using System.Data; + + public class ProductDal + { + SqlConnection _connection = new SqlConnection(@"Server=(localdb)\MSSQLLocalDB; Initial Catalog=ETrade; Integrated Security=True;"); + public List GetAll() + { + ConnectionControl(); + SqlCommand command = new SqlCommand("select * from products", _connection); + SqlDataReader reader = command.ExecuteReader(); + + List products = new List(); + while (reader.Read()) + { + Product product = new Product + { + Id = Convert.ToInt32(reader["Id"]), + Name = reader["Name"].ToString(), + StockAmount = Convert.ToInt32(reader["StockAmount"]), + UnitPrice = Convert.ToDecimal(reader["UnitPrice"]) + }; + products.Add(product); + } + reader.Close(); + _connection.Close(); + + return products; + } + + public DataTable GetAllDataTable() + { + if (_connection.State == ConnectionState.Closed) + { + _connection.Open(); + } + SqlCommand command = new SqlCommand("select * from products", _connection); + SqlDataReader reader = command.ExecuteReader(); + + DataTable dataTable = new DataTable(); + dataTable.Load(reader); + reader.Close(); + _connection.Close(); + + return dataTable; + } + + private void ConnectionControl() + { + if (_connection.State == ConnectionState.Closed) + { + _connection.Open(); + } + } + + public void Add(Product product) + { + ConnectionControl(); + SqlCommand command = new SqlCommand("insert into products values(@Name, @UnitPrice, @StockAmount)", _connection); + command.Parameters.AddWithValue("@Name", product.Name); + command.Parameters.AddWithValue("@UnitPrice", product.UnitPrice); + command.Parameters.AddWithValue("@StockAmount", product.StockAmount); + command.ExecuteNonQuery(); + + _connection.Close(); + } + + public void Update(Product product) + { + ConnectionControl(); + SqlCommand command = new SqlCommand("update products set Name=@Name, UnitPrice=@UnitPrice, StockAmount=@StockAmount where Id=@Id", _connection); + command.Parameters.AddWithValue("@Id", product.Id); + command.Parameters.AddWithValue("@Name", product.Name); + command.Parameters.AddWithValue("@UnitPrice", product.UnitPrice); + command.Parameters.AddWithValue("@StockAmount", product.StockAmount); + command.ExecuteNonQuery(); + + _connection.Close(); + } + + public void Delete(int id) + { + ConnectionControl(); + SqlCommand command = new SqlCommand("delete from products where Id=@Id", _connection); + command.Parameters.AddWithValue("@Id", id); + command.ExecuteNonQuery(); + + _connection.Close(); + } + } +} \ No newline at end of file diff --git a/AdoNetDemo/Program.cs b/AdoNetDemo/Program.cs new file mode 100644 index 0000000..fc820b0 --- /dev/null +++ b/AdoNetDemo/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AdoNetDemo +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/AdoNetDemo/Properties/AssemblyInfo.cs b/AdoNetDemo/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e1dd8dd --- /dev/null +++ b/AdoNetDemo/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AdoNetDemo")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("AdoNetDemo")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("51e46e60-2b3f-4811-a8b5-6a9e2c7c206a")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/AdoNetDemo/Properties/Resources.Designer.cs b/AdoNetDemo/Properties/Resources.Designer.cs new file mode 100644 index 0000000..af069e5 --- /dev/null +++ b/AdoNetDemo/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AdoNetDemo.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AdoNetDemo.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/AdoNetDemo/Properties/Resources.resx b/AdoNetDemo/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/AdoNetDemo/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/AdoNetDemo/Properties/Settings.Designer.cs b/AdoNetDemo/Properties/Settings.Designer.cs new file mode 100644 index 0000000..05f5176 --- /dev/null +++ b/AdoNetDemo/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace AdoNetDemo.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/AdoNetDemo/Properties/Settings.settings b/AdoNetDemo/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/AdoNetDemo/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/CSharpCourse.sln b/CSharpCourse.sln index d78d308..f8f3400 100644 --- a/CSharpCourse.sln +++ b/CSharpCourse.sln @@ -43,6 +43,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Collections", "Collections\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exceptions", "Exceptions\Exceptions.csproj", "{5EAE0080-32EF-47FD-9C95-543151DD22F6}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdoNetDemo", "AdoNetDemo\AdoNetDemo.csproj", "{51E46E60-2B3F-4811-A8B5-6A9E2C7C206A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -129,6 +131,10 @@ Global {5EAE0080-32EF-47FD-9C95-543151DD22F6}.Debug|Any CPU.Build.0 = Debug|Any CPU {5EAE0080-32EF-47FD-9C95-543151DD22F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {5EAE0080-32EF-47FD-9C95-543151DD22F6}.Release|Any CPU.Build.0 = Release|Any CPU + {51E46E60-2B3F-4811-A8B5-6A9E2C7C206A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {51E46E60-2B3F-4811-A8B5-6A9E2C7C206A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {51E46E60-2B3F-4811-A8B5-6A9E2C7C206A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {51E46E60-2B3F-4811-A8B5-6A9E2C7C206A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE