private void ConvertFieldToColumn(IRecord record, string[] updatableColumnFields) { foreach (var f in updatableColumnFields) { var fieldInfo = this.Fields[f]; object columnValue = fieldInfo.SetFieldValue(record[f]); //.NET 类型无法直接映射到 SQL 的类型需要特殊处理 switch (fieldInfo.Type) { case FieldType.Xml: record[f] = new SqlCommandParameter(DbType.Xml, columnValue); break; default: record[f] = columnValue; break; } } }
public void SavePageData(PageData pageData) { string insertDataQuery = "INSERT INTO data (web_resource_id, path, html_code, server_response, protocol, date_time, status_code)" + "VALUES " + "('" + pageData.webResourceId + "', " + "'" + pageData.path + "', " + "'" + pageData.htmlCode + "', " + "'" + pageData.serverResponse + "', " + "'" + pageData.protocol + "', " + "@datetime, " + "'" + pageData.statusCode + "')"; SqlCommandParameter sqlCommandParameter = new SqlCommandParameter(); sqlCommandParameter.parameterName = "@datetime"; sqlCommandParameter.type = ProcedureArgumentType.DateTime; sqlCommandParameter.value = pageData.dateTime; m_connection.ExecuteNonQuery(insertDataQuery, sqlCommandParameter); }