我是初学者,我写不下去了,帮我看看改怎么再往下写

我是水做的女 2006-11-01 11:10:24
private void in_btn_Click(object sender, EventArgs e)
{
//sqlconnection myconnection = new sqlconnection("server=(local);uid=sa;pwd=sms;database=dbinterface");
int i = 0;
string strConnection = "uid=sa;pwd=;";
strConnection += "initial catalog=dbinterface;Server=(local);";
strConnection += "Connect Timeout=30";

SqlConnection objConnection = new SqlConnection(strConnection);

StreamReader objReader = new StreamReader("temp.txt", System.Text.Encoding.Default);
while (objReader.Peek() > -1)
{
i = i+1;
string text = objReader.ReadLine();
//这里写把得到的text文本导入到数据库,我不知道该怎么写,数据库就两个字段,
//一个ID,一个是text,这个循环怎么写,大家教我一下,万分感谢,对于大家来说是简单的事
//对于我来说非常困难



}
ConnectState.Text = "已经处理"+i;
}
...全文
124 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
liujia_0421 2006-11-01
  • 打赏
  • 举报
回复
参考如下:
char[] charArray=new char[]{',','?','.'};//要据文本文件里的分隔符,枚举到这个数组中

然后:
objConnection .open();//打开数据库
while (objReader.Peek() > -1)
{
//i = i+1;注释起来,在下面增加
string text = objReader.ReadLine();

string[] strArray= text.Split(charArray);
for(int x=0;x<=strArray.GetUpperBound(0);x++)
{
i++;//自增
string sqlStr= "insert into TextTable values("+i+",'"+sqlStr[x]+"')";
SqlCommand cmd=new (sqlStr,objConnection );
cmd.ExecuteNonQuery();

}
}

objConnection .close();//关闭数据库

没有测试,大致就这样,不妨试一试...
我是水做的女 2006-11-01
  • 打赏
  • 举报
回复
我的QQ是:284180128
我是水做的女 2006-11-01
  • 打赏
  • 举报
回复
jointan
可以加我QQ吗?就教我一下!谢谢了,带带新人吧。。。
我是水做的女 2006-11-01
  • 打赏
  • 举报
回复
是定长的,我不太清楚C#的,asp的我会,我不知道C#的怎么写,教教我吧!那段代码我用不了。
jointan 2006-11-01
  • 打赏
  • 举报
回复
可能我没看懂题,你的text字段是不是要输入整行内容,Id是行号?
如果是的话:
while (objReader.Peek() > -1)
{
i = i+1;
string text = objReader.ReadLine();


string sqltmpl = "INSERT INTO tblx(ID,text) VALUES({0},'{1}')";
System.Data.SqlClient.SqlCommand cmd = objConnection.CreateCommand();
cmd.CommandText = string.Format(sqltmpl, id,text);
cmd.ExecuteNonQuery();
}
jointan 2006-11-01
  • 打赏
  • 举报
回复
是不是定长的?
如果是定长的?好办!
如果不定长,那你给蛇画脚了
我是水做的女 2006-11-01
  • 打赏
  • 举报
回复
我有点看不懂了,我已经把文件格式化好了,没有分隔,直接把text当变量插入就好了
我可以这样写吗?
string sqltmpl = "INSERT INTO tblx(f2) VALUES(text)";
System.Data.SqlClient.SqlCommand cmd = objConnection.CreateCommand();
cmd.CommandText = string.Format(sqltmpl, text);
cmd.ExecuteNonQuery();
jointan 2006-11-01
  • 打赏
  • 举报
回复
假定文本以分号分隔字段
while (objReader.Peek() > -1)
{
i = i+1;
string text = objReader.ReadLine();

string[] values = text.Split(';');
string sqltmpl = "INSERT INTO tblx(f1,f2) VALUES('{0}','{1}')";
System.Data.SqlClient.SqlCommand cmd = objConnection.CreateCommand();
cmd.CommandText = string.Format(sqltmpl, values[0], values[1]);
cmd.ExecuteNonQuery();
}
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-11-01 11:10
社区公告

让您成为最强悍的C#开发者