*.TXT
約 1 ~ 200 行でいっぱいのファイルがあります。各行は都市/郊外の名前にすぎず、このファイルの各行をデータベースに挿入しようとしています。
うまくいかなかったので、すべてをTry/Catchブロックに入れましたが、例外の詳細を出力しても何も表示されません。
次の行だけで、一度に 1 つのレコードを挿入できることを確認しました。
db.Execute("insert into SuburbsPostCodesAndStates (Suburb, State) values (@0, @1)", "lol", "nsw");
これらの行を挿入するために使用しているコードは次のとおりです。
@{
var message = "";
var db = Database.Open("SSSCCC");
try
{
if(File.Exists(Href("~/NSW.txt")))
{
string[] text = File.ReadAllLines(Href("~/NSW.txt"));
using (StringReader reader = new StringReader( text ))
{
string line;
while ((line = reader.ReadLine()) != null)
{
db.Execute("insert into SuburbsPostCodesAndStates (Suburb, State) values (@0, @1)", line, "NSW");
}
}
}
}
catch(Exception exception)
{
message = exception.Message;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
@message
</body>
</html>
これについてどうすればよいですか?
どんな助けでも大歓迎です。
ありがとうございました
解決:
@{
var message = "";
var db = Database.Open("SSSCCC");
try
{
if(File.Exists(Server.MapPath("NSW.txt")))
{
string[] text = File.ReadAllLines(Server.MapPath("NSW.txt"));
if(text.Length == 0) { throw new Exception("File does not contain any lines"); }
foreach(string line in text)
{
db.Execute("insert into SuburbsPostCodesAndStates (Suburb, State) values (@0, @1)", line, "NSW");
}
}
else
{
throw new Exception("File does not exist");
}
}
catch(Exception exception)
{
message = exception.Message;
}
}