1
我試圖在PostgreSQL中使用準備好的語句,但它給了我一些相當令人沮喪的錯誤。PostgreSql錯誤:22P02:整數的輸入語法無效
我試圖從數據庫中選擇一個單獨的記錄,通過MediaID。在數據庫中,MediaID是一個串行整數。在類結構中,它是一個int。
但是,當我調用sql.Prepare()時,它告訴我MediaID的輸入語法無效。我不明白這是怎麼回事。
NpgsqlCommand sql = mediaRepository.CreateCommand();
sql.CommandText = "SELECT * FROM Media WHERE 'MediaID' = :MediaID";
sql.Parameters.Add(new NpgsqlParameter("MediaID", NpgsqlDbType.Integer));
sql.Prepare();
sql.Parameters["MediaID"].Value = id;
令人沮喪的是,如果我設置miscast的int用作NpgsqlDbType.Varchar,它準備就好了 - 它只是不返回任何信息。
任何想法?
當我這樣做時,它不能再找到coloumn「MediaID」。 – andrewheins 2010-10-16 16:48:01
如果你有混合大小寫的名字,引用它,但用雙引號而不是撇號。 – 2010-10-16 19:03:54
這是否意味着我應該避免與PostgreSQL混合使用大小寫名稱?這是約定嗎? – andrewheins 2010-10-16 20:40:16