MSSQL和T-SQL经常被作为Web上可互换的同义词抛出.
我知道T-SQL是许多Microsoft产品中使用的SQL风格.MS-SQL实际上是微软拥有的SQL的另一种风格,还是仅仅是微软营销部门用来引用其服务器数据库解决方案的总称?
作为一个附带问题,MS Access使用什么样的SQL(如果有的话)?
我正在使用HandsOnTable在我的网站上使编辑数据库表更具交互性.
HandsOnTable几乎满足了我的所有要求,只是我的数据库中的某些列实际存储了外键而不是本地字符串值.
在UI中,我希望这些列显示为下拉菜单,其中用户选择映射到前面提到的外键的可读值(即类似HTML名称/值select).
不幸的是,HandsOnTable没有这样的细胞类型.最接近它的是autocomplete.这允许我创建一个下拉列表,但它只包含值; 没有相应的钥匙.以下是它的创建方式:
"source": ["Jebediah", "Bob", "Bill", "Buzz"]
Run Code Online (Sandbox Code Playgroud)
所以我计划从服务器发送两个Json字符串:
一个包含HandsOnTable渲染表所需的参数:
{
"data": [
{ "ID": 1, "Description": "Crude", "Volume": 204, "Customer": "jebediah" },
{ "ID": 2, "Description": "Hidrogen", "Volume": 513, "Customer": "Bob" },
{ "ID": 3, "Description": "Coal", "Volume": '67', "Customer": "Bill" },
{ "ID": 4, "Description": "Wood", "Volume": '513', "Customer": "Buzz" }
],
"columns": [
{ "data": "ID", "type": "numeric" },
{ "data": "Description", "type": "text"},
{ "data: "Volume", "type": "numeric" },
{ …Run Code Online (Sandbox Code Playgroud) 我在Grails中创建一个版本控制域类:
class VersionControl {
Date dateCreated
Long versionNumber
Long getLatestVersionNumber() {
//return largest versionNumber
}
}
Run Code Online (Sandbox Code Playgroud)
我想添加一个查询来获取存储的最大版本号:
Long getLatestVersionNumber()
Run Code Online (Sandbox Code Playgroud)
在SQL中,此查询看起来或多或少如下:
SELECT TOP 1 MAX(versionNumber) FROM VersionControl
Run Code Online (Sandbox Code Playgroud)
函数必须将值返回为long.
在Grails中执行此操作的正确方法是什么?
我有一个或多或少的标准模型:
public class Project {
public int ID { get; set; }
//... some more properties
public DateTime StartDate { get; set; }
public int Duration { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果用户修改StartDate或投影Duration,我必须调用函数来更新模拟.为了实现这一点,我想检测字段StartDate和Duration控制器内的状态变化.
像这样的东西:
if(project.StartDate.stateChange() || project.Duration.stateChange())
Run Code Online (Sandbox Code Playgroud)
以下是Controller Method的示例:
[HttpPost]
public ActionResult Edit(Project project)
{
if (ModelState.IsValid)
{
if(project.StartDate.stateChange() || project.Duration.stateChange())
doSomething();
db.Entry(project).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(project);
}
Run Code Online (Sandbox Code Playgroud)
任何想法,我怎样才能做到这一点?
我想更好地理解控制器方法如何知道何时应该从post数据或url中恢复它所回收的参数.
请看以下示例:
URL: /ModelController/Method/itemID
// Where itemID is the id (int) of the item in the database
POST: objectOrArray: {JSON Object/Array}
Run Code Online (Sandbox Code Playgroud)
控制器看起来像这样:
[HttpPost]
public ActionResult InputResources(int? id, Object objectOrArray)
Run Code Online (Sandbox Code Playgroud)
现在,不知何故,该方法足够智能,可以id在站点URL中查找第一个参数,Object即HTTPPost.
虽然这有效,但我不知道为什么,因此我有时会遇到不可预测和不稳定的行为.例如,我似乎已经发现(虽然我不是100%肯定)删除?from int? id会使控制器方法立即假设它应该HTTPPost在URL而不是URL中查找id .
所以我想澄清以下几点:
究竟是什么告诉方法在哪里查找数据?([HttpPost]预先确定方法的属性?)
命名约定是否起作用?(例如,删除?或不使用id变量名?)
变量的排序顺序是否有影响?(即放在Object之前id)
我知道我可以通过反复试验来或多或少地弄清楚这些东西,但我想要一个合格的解释而不是继续基于观察的假设工作.
谢谢
Chopo
您好我正在尝试添加一个可以将文件存储到现有ASP.NET MVC Code First项目的模型.
namespace MyMVCApp.Models
{
public class FileUpload
{
[Key]
public int ID { get; set; }
public string FileName { get; set; }
public string FilePath { get; set; }
[Required]
public HttpPostedFileBase File { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我已将以下内容添加到项目的DbContext文件中:
public DbSet<FileUpload> FileUploads { get; set; }
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Package Manager控制台中的Entity-Framework Migrations将表添加到现有数据库:
PM> Add-Migration FileUpload
Run Code Online (Sandbox Code Playgroud)
在运行ubove命令时,我收到以下错误:
System.Data.Entity.ModelConfiguration.ModelValidationException: One or more validation errors were detected during model generation:
\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'HttpPostedFileBase' has no key defined. Define …Run Code Online (Sandbox Code Playgroud) 我有以下表/型号:
class Post {
int id;
String comment;
static belongsTo = [category_id:Category];
}
Run Code Online (Sandbox Code Playgroud)
我希望创建一个可以过滤掉最后一个Post(最高id)的查询Category.我希望结果List<Post>形式.
换句话说(我相信)在SQL中,查询看起来如下:
SELECT *
FROM
Post AS source
JOIN (
SELECT MAX(id) AS id, category_id
FROM Post
GROUP BY category_id
) AS filter
ON source.id = filter.id;
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,第一步是使用HibernateCriteriaBuilder:
def c = Post.createCriteria();
def results = c.list {
projections {
groupProperty("category_id", "myid")
max("id", "version")
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题分为两部分:
如何使用结果对象获取List<Post>数组?
(喜欢的东西:def latest = Post.FindAllByXXX(result);)
asp.net-mvc ×3
grails ×2
c# ×1
handsontable ×1
javascript ×1
jquery ×1
json ×1
ms-access ×1
sql ×1
sql-server ×1
t-sql ×1