我目前在使用CSV to SQL Converter时遇到了一些问题。这是我学习C#的第三个星期,我开始掌握一些东西,但这有点过头了。
我要做的是将顶行/标题拆分为每个单独的标题,然后通过该标题进行SQL代码,而不是像我一样手动输入。下面你可以看到我到目前为止构建的一些代码。
private void Form1_Load(object sender, EventArgs e)
{
try
{
// your code here
string CSVFilePathName = @"C:\\CSV\\reg.csv";
string[] Lines = File.ReadAllLines(CSVFilePathName);
string[] Fields;
//1st row must be column names; force lower case to ensure matching later on.
// get regs from filename
// get fieldnames from Lines[0] (first line of file)
// create a loop for fields array
string hdr = Lines[0];
for (int i = 1; i < Lines.Length; i++)
{
Fields = Lines[i].Split(new char[] { ',' });
CSVTextBox.AppendText(Fields[0] + "," + Fields[1] + "," + Fields[2] + "," + Fields[3] + Environment.NewLine);
// need a for loop for each field
// for (
SQLTextBox.AppendText("INSERT INTO[dbo].[REGS]([SESTYPE],[REG],[LFL],[SUBVER]) VALUES('" + Fields[3] + "'" + Fields[0] + "'" + Fields[1] + "'" + Fields[2] + ")" + Environment.NewLine);
// }
}
}
catch (Exception ex)
{
MessageBox.Show("Error is " + ex.ToString());
throw;
}
}
现在这一切都在运行,我只是努力让标题成为代码的一部分。任何帮助将不胜感激。
干杯,
答案 0 :(得分:1)
首先:删除try catch。如果你得到一个例外,你应该阅读,理解和清除。 对于SQLTextBox:我建议使用String.Format函数。这允许您创建具有不同值的字符串,但更容易阅读。
对于标题:使用变量 hdr 这应该包含标题。然后你可以通过string.Split(&#39;,&#39;)或string.Split(&#39 ;;&#39;)拆分它,具体取决于你的分隔符