質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Q&A

解決済

1回答

864閲覧

C# SQLite syntaxerror 例外 原因がわからない

kyota1

総合スコア6

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

1グッド

0クリップ

投稿2022/10/06 14:52

編集2022/10/06 14:54

前提

あるサンプルを試しておりました。ボタンを押すと、adapter.Fill(dt);にて例外が発生します。SQliteについては詳しくなく、助けてほしいです。Syntax Error解決方法教えてください。

実現したいこと

データベースから値を取得

発生している問題・エラーメッセージ

場所 DDD.WinForm.Program.Main() 場所 C:\Users\kyota\source\repos\DDD\DDD\DDD.WinForm\Program.cs:行 19</ExceptionString></Exception></TraceRecord> 型 'System.Data.SQLite.SQLiteException' のハンドルされていない例外が System.Data.SQLite.dll で発生しました SQL logic error near "from": syntax error

該当のソースコード

C#

1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Data.SQLite; 6using System.Drawing; 7using System.Linq; 8using System.Text; 9using System.Threading.Tasks; 10using System.Windows.Forms; 11 12namespace DDD.WinForm 13{ 14 public partial class WeatherLatestView : Form 15 { 16 private readonly string ConnectionString = @"Data Source=C:\DDD.db;Version=3"; 17 public WeatherLatestView() 18 { 19 InitializeComponent(); 20 } 21 22 private void LatestButton_Click(object sender, EventArgs e) 23 { 24 string sql = @" 25select DataDate, 26 Condition, 27 Temperature, 28from Weather 29where AreaId = @AreaId 30order by DataDate desc 31LIMIT 1 32"; 33 DataTable dt = new DataTable(); 34 using (var connection = new SQLiteConnection(ConnectionString)) 35 using (var command = new SQLiteCommand(sql, connection)) 36 { 37 connection.Open(); 38 39 command.Parameters.AddWithValue("@AreaId", this.AreaIdTextBox.Text); 40 using (var adapter = new SQLiteDataAdapter(command)) 41 { 42 adapter.Fill(dt); 43 } 44 } 45 46 if (dt.Rows.Count > 0) 47 { 48 DataDateLabel.Text = dt.Rows[0]["DataDate"].ToString(); 49 ConditionLabel.Text = dt.Rows[0]["Condition"].ToString(); 50 TemperatureLabel.Text = Math.Round(Convert.ToSingle(dt.Rows[0]["Temperature"]),2)+"℃"; 51 52 } 53 54 55 } 56 } 57} 58

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

takezoux2を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/10/06 23:03

何を何で作っているか書きましょう。 (例: Visual Studio 2022 で Windows Forms アプリをターゲットフレームワーク .NET Framework 4.8 で作っています)
guest

回答1

0

ベストアンサー

エラーメッセージに「SQL logic error near "from"」とあります。

SQL

1select DataDate, 2 Condition, 3 Temperature, 4from Weather 5where AreaId = @AreaId 6order by DataDate desc 7LIMIT 1

Temperature,とカンマが多いのでは?

投稿2022/10/06 15:32

YAmaGNZ

総合スコア10258

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kyota1

2022/10/06 22:02

ありがとう!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問