Commit 94090af3 by mahaisong

fix: 过去手工梳理时错误减去了头部。

现在新增1个快速增加头部的功能。
parent a5924d38
......@@ -74,7 +74,7 @@ namespace StockListingRelatedCode
if (!String.IsNullOrWhiteSpace(item12.QueryRule))
{
string oldcontent = Util.DecodeRule(item12.QueryRule)[0];
if (oldcontent.Length > 1)
if (oldcontent.Length > 1 && oldcontent.IndexOf("(")==0)
{
oldcontent = oldcontent.Remove(0, 1);
updateDic.TryAdd(item12.OrganizationID, oldcontent.Replace("'", "")); //将数据中的单引号去除。 没办法,要执行update语句,就不能用单引号。
......
namespace StockListingRelatedCode
{
partial class Form3
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listBox1 = new System.Windows.Forms.ListBox();
this.button_OK = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// listBox1
//
this.listBox1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.listBox1.FormattingEnabled = true;
this.listBox1.ItemHeight = 16;
this.listBox1.Location = new System.Drawing.Point(38, 55);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(398, 228);
this.listBox1.TabIndex = 4;
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);
//
// button_OK
//
this.button_OK.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button_OK.Location = new System.Drawing.Point(38, 12);
this.button_OK.Name = "button_OK";
this.button_OK.Size = new System.Drawing.Size(116, 31);
this.button_OK.TabIndex = 3;
this.button_OK.Text = "开始执行";
this.button_OK.UseVisualStyleBackColor = true;
this.button_OK.Click += new System.EventHandler(this.button_OK_Click);
//
// Form3
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(485, 324);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.button_OK);
this.Name = "Form3";
this.Text = "对港股中没有后缀,却手工调试时减去的头部,补充上";
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button button_OK;
}
}
\ No newline at end of file
using Dapper;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace StockListingRelatedCode
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
this.listBox1.Text = "";
this.listBox1.HorizontalScrollbar = true;
}
private void button_OK_Click(object sender, EventArgs e)
{
this.listBox1.Items.Clear();
this.button_OK.Enabled = false;
this.button_OK.Visible = false;
this.listBox1.Items.Add("正在执行中……");
string filename = DateTime.Now.ToString("HH_mm_ss_fff");
//输出原始全表数据备份
string OldTablePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filename + "纠错(港股手工调试时减去的头部,补充上)-原始全表数据备份" + ".txt");
//输出执行update规则的语句
string UpdateSQLPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, filename + "纠错(港股手工调试时减去的头部,补充上)-执行update规则的SQL语句" + ".txt");
//暂存找到非港股的规则,后面作为SQL语句执行。
ConcurrentDictionary<string, string> updateDic = new ConcurrentDictionary<string, string>();
//声明mysql调用
//查询Organization 表中所有港股
//查询Organization 表中所有非港股
//for循环港股、查找非港股的包含港股编号的股票、输出
StringBuilder stb = new StringBuilder();
try
{
MySqlConnection con = new MySqlConnection("Server=pubtopic.org;uid=palas;pwd=lapas;Database=Palas_V5;charset=utf8;connection timeout=300;SslMode = none");
//查询数据---必须确保Organization类字段、顺序与数据库字段 一致
IEnumerable<Organization> list = con.Query<Organization>("select * from Organization");
con.Close();
//所有不包含后缀的。
IEnumerable<Organization> list12 = list.Where(x => { return x.StockListing == 12 && !x.QueryRule.Contains(")-("); });
stb.AppendLine("操作的数据: 总行数" + list.Count() + "; 港股12的行数" + list12.Count() + ";");
foreach (Organization item12 in list12)
{
//切割头部
int index=item12.QueryRule.IndexOf('"');
if (index > 1)
{
string akey = item12.QueryRule.Substring(index);
string bkey = item12.Code.Replace("hk", "").Replace("HK", "").Replace("Hk", "").Replace("hK", "");
//bkey 带有后面的1个双引号
string value = "\"" + bkey + akey;
updateDic.TryAdd(item12.OrganizationID, value.Replace("'", "")); //将数据中的单引号去除。 没办法,要执行update语句,就不能用单引号。
}
}
//更新数据库。
//1.将原有数据全表全量全部输出为txt文件。防止修改后找不到备份。
//OldTablePath
if (!File.Exists(OldTablePath))
{
FileStream fs = new FileStream(OldTablePath, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
//标题行
Organization model = new Organization();
System.Reflection.PropertyInfo[] pArray = model.GetType().GetProperties(); //注意此方法是无序的。
string Oldtitle = "";
foreach (System.Reflection.PropertyInfo p in pArray)
{
Oldtitle += p.Name + ",";
}
Oldtitle = Oldtitle.Remove(Oldtitle.Length - 1, 1);
sw.WriteLine(Oldtitle);
//清空缓冲区
sw.Flush();
foreach (Organization old in list)
{
string row = "";
//每行的每列数据
foreach (System.Reflection.PropertyInfo p in pArray)
{
row += ((null == p.GetValue(old) ? "NULL" : p.GetValue(old)) + ",").Replace("\r\n", "").Replace("\r", "").Replace("\n", "").Replace("\t", "");
}
row = row.Remove(row.Length - 1, 1);
sw.WriteLine(row);
//清空缓冲区
sw.Flush();
}
//关闭流
sw.Close();
fs.Close();
this.Invoke(new MethodInvoker(() =>
{
this.listBox1.Items.Add("2:原始全表数据备份--生成完毕:" + OldTablePath);
}));
}
else
{
MessageBox.Show("文件已经存在重名" + OldTablePath + "。建议重新生成!");
return;
}
//2.将需要更新的数据,从执行的队列里面循环,进行update操作。
//组装update语句--100条执行1次。
//UpdateSQLPath
string formatsql = @"update Organization set QueryRule='@a' where OrganizationID='@b';";
if (!File.Exists(UpdateSQLPath))
{
FileStream fs = new FileStream(UpdateSQLPath, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
for (int jindex = 0; jindex < updateDic.Count(); jindex++)
{
string OrganizationID = updateDic.ElementAt(jindex).Key.ToString();
string QueryRule = updateDic.ElementAt(jindex).Value.ToString();
//开始写入
sw.WriteLine(formatsql.Replace("@a", QueryRule).Replace("@b", OrganizationID));
//清空缓冲区
sw.Flush();
}
//关闭流
sw.Close();
fs.Close();
this.Invoke(new MethodInvoker(() =>
{
this.listBox1.Items.Add("3:执行update规则的SQL语句--生成完毕:" + UpdateSQLPath);
}));
}
else
{
MessageBox.Show("文件已经存在重名" + UpdateSQLPath + "。建议重新生成!");
return;
}
StringBuilder updatesqlstb = new StringBuilder();
con.Open();
int i = 0;
while (i < updateDic.Count())
{
string OrganizationID = updateDic.ElementAt(i).Key.ToString();
string QueryRule = updateDic.ElementAt(i).Value.ToString();
updatesqlstb.Append(formatsql.Replace("@a", QueryRule).Replace("@b", OrganizationID));
if (i % 10 == 0)
{
//提交执行
try
{
IDbTransaction transaction = con.BeginTransaction();
try
{
con.Execute(updatesqlstb.ToString(), null, transaction);
transaction.Commit();
}
catch (Exception exception)
{
transaction.Rollback();
MessageBox.Show("数据库错误--事务回滚!" + exception.ToString());
}
//
}
catch (Exception ext)
{
MessageBox.Show("数据库错误!" + ext.ToString());
}
updatesqlstb.Clear();
}
i++;
}
if (updatesqlstb.Length > 0)
{
try
{
IDbTransaction transaction = con.BeginTransaction();
try
{
con.Execute(updatesqlstb.ToString(), null, transaction);
transaction.Commit();
}
catch (Exception exception)
{
transaction.Rollback();
MessageBox.Show("数据库错误--事务回滚!" + exception.ToString());
}
//
}
catch (Exception ext)
{
MessageBox.Show("数据库错误!" + ext.ToString());
}
updatesqlstb.Clear();
}
con.Close();
con.Dispose();
this.Invoke(new MethodInvoker(() =>
{
this.listBox1.Items.Add("3:更新数据库完毕:" + UpdateSQLPath);
}));
}
catch (Exception ex)
{
MessageBox.Show("异常错误!" + ex.ToString());
}
finally
{
this.Invoke(new MethodInvoker(() =>
{
this.listBox1.Items.Add("执行完成");
this.button_OK.Enabled = true;
this.button_OK.Visible = true;
}));
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ListControl ls = (ListControl)sender;
MessageBox.Show(ls.Text);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
......@@ -546,5 +546,18 @@ namespace StockListingRelatedCode
}
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
Form3 shlog = new Form3();
shlog.FormClosing += new FormClosingEventHandler(Form3_FormClosing);
toolStripButton3.Enabled = false;
shlog.Show();
}
void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
toolStripButton3.Enabled = true;
}
}
}
......@@ -32,6 +32,8 @@
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.label5 = new System.Windows.Forms.Label();
this.textBox_ID = new System.Windows.Forms.TextBox();
this.button_Reset = new System.Windows.Forms.Button();
this.button_OK = new System.Windows.Forms.Button();
this.label4 = new System.Windows.Forms.Label();
......@@ -44,8 +46,7 @@
this.textBox_HK = new System.Windows.Forms.TextBox();
this.listBox1 = new System.Windows.Forms.ListBox();
this.button_Query = new System.Windows.Forms.Button();
this.label5 = new System.Windows.Forms.Label();
this.textBox_ID = new System.Windows.Forms.TextBox();
this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
......@@ -57,7 +58,8 @@
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripButton1,
this.toolStripButton2});
this.toolStripButton2,
this.toolStripButton3});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(905, 25);
......@@ -114,6 +116,22 @@
this.splitContainer1.SplitterDistance = 29;
this.splitContainer1.TabIndex = 0;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(11, 61);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(78, 13);
this.label5.TabIndex = 16;
this.label5.Text = "结果:港股ID";
//
// textBox_ID
//
this.textBox_ID.Location = new System.Drawing.Point(132, 58);
this.textBox_ID.Name = "textBox_ID";
this.textBox_ID.Size = new System.Drawing.Size(209, 20);
this.textBox_ID.TabIndex = 15;
//
// button_Reset
//
this.button_Reset.Location = new System.Drawing.Point(494, 25);
......@@ -221,21 +239,15 @@
this.button_Query.UseVisualStyleBackColor = true;
this.button_Query.Click += new System.EventHandler(this.button_Query_Click);
//
// label5
// toolStripButton3
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(11, 61);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(78, 13);
this.label5.TabIndex = 16;
this.label5.Text = "结果:港股ID";
//
// textBox_ID
//
this.textBox_ID.Location = new System.Drawing.Point(132, 58);
this.textBox_ID.Name = "textBox_ID";
this.textBox_ID.Size = new System.Drawing.Size(209, 20);
this.textBox_ID.TabIndex = 15;
this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));
this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton3.Name = "toolStripButton3";
this.toolStripButton3.Size = new System.Drawing.Size(100, 22);
this.toolStripButton3.Text = "补充头部引号";
this.toolStripButton3.ToolTipText = "补充头部引号";
this.toolStripButton3.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// MainForm
//
......@@ -280,6 +292,7 @@
private System.Windows.Forms.Button button_Reset;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox textBox_ID;
private System.Windows.Forms.ToolStripButton toolStripButton3;
}
}
......@@ -151,4 +151,19 @@
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
</root>
\ No newline at end of file
......@@ -71,6 +71,12 @@
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Form3.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form3.Designer.cs">
<DependentUpon>Form3.cs</DependentUpon>
</Compile>
<Compile Include="Form2.cs">
<SubType>Form</SubType>
</Compile>
......@@ -90,6 +96,9 @@
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form3.resx">
<DependentUpon>Form3.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Form2.resx">
<DependentUpon>Form2.cs</DependentUpon>
</EmbeddedResource>
......
++ "b/9.StockListingRelatedCode/StockListingRelatedCode/bin/Debug/17_50_41_438\345\210\240\351\231\244\346\216\222\351\231\244\347\232\204\350\247\204\345\210\231-\346\211\247\350\241\214update\350\247\204\345\210\231\347\232\204SQL\350\257\255\345\217\245.txt"
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\StockListingRelatedCode.exe.config
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\StockListingRelatedCode.exe
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\StockListingRelatedCode.pdb
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\Dapper.dll
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\Google.Protobuf.dll
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\MySql.Data.dll
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\Dapper.xml
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\Google.Protobuf.xml
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\bin\Debug\MySql.Data.xml
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.Form1.resources
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.Form3.resources
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.Form2.resources
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.MainForm.resources
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.Properties.Resources.resources
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.csproj.GenerateResource.Cache
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.exe
D:\smallproject\9.StockListingRelatedCode\StockListingRelatedCode\obj\Debug\StockListingRelatedCode.pdb
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment