CONSTRAINT在 SQL Server 上使用外键时使用或不使用关键字有什么区别?
我注意到,在这种特定情况下,显然两者的工作方式相同,但没有CONSTRAINT:
CREATE TABLE ClientsPhones
(
ClientPhone varchar(10) NOT NULL,
ClientID smallint NOT NULL,
PRIMARY KEY (ClientPhone),
FOREIGN KEY (ClientID) REFERENCES Clients(ClientID)
);
Run Code Online (Sandbox Code Playgroud)
并与CONSTRAINT:
CREATE TABLE ClientsPhones
(
ClientPhone varchar(10) NOT NULL,
ClientID smallint NOT NULL,
PRIMARY KEY (ClientPhone),
CONSTRAINT fk_ClientID
FOREIGN KEY (ClientID) REFERENCES Clients(ClientID)
);
Run Code Online (Sandbox Code Playgroud)
两者都不允许我将记录添加到表中,除非表中ClientID已经存在Clients,并且相同ClientID且ClientPhone尚未在ClientsPhones表中。
除了我能够命名约束之外,两者之间还有什么真正的区别吗?
我查看了这个问题的选定答案 Retrieve Credentials from Windows Credentials Store using C# ,它使用CredentialManagement NuGet 包在 Windows 上获取和设置凭据。
凭据管理包是 Windows 凭据管理 API 的包装器,支持新旧风格的 UI
我能够以这种方式设置新凭据,但是它们被设置为Generic Credentials。
public static bool SetCredentials(
string target, string username, string password, PersistanceType persistenceType)
{
return new Credential
{
Target = target,
Username = username,
Password = password,
PersistanceType = persistenceType
}.Save();
}
Run Code Online (Sandbox Code Playgroud)
根据这个,至少有4种不同类型的凭据是Windows凭据管理器中可以使用的:
我需要设置的凭据旨在允许访问特定的本地 Web 服务器,当我手动将它们添加为Windows 凭据时,它们可以工作,当应用程序或我自己将它们添加为通用凭据时,它们不起作用.
我在这里找不到足够的信息,所以我需要知道的是如何使用此包或任何其他可以通过编程方式完成的方式将 Windows 凭据添加到 Windows 凭据管理器。
更新:我设法通过按照以下问题所示的方式解决我的问题: …
我正在构建这个基于Web的应用程序,它将显示接下来24小时的天气预报,我正在阅读一个XML文件,其中包含我需要的所有数据.但是,该文件包含类似标签中的所有数据,如下所示:
<response>
<hourly_forecast>
<forecast>
<temp>
<metric>DATA!</metric>
</temp>
</forecast>
<forecast>
<temp>
<metric>MORE DATA!</metric>
...
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我必须输入预测,查看其子项,查找数据,然后以某种方式回到我可以阅读下一个预测及其数据等的时刻.我目前正在使用XMLTextReader来读取,而ReadStartElement和ReadToNextSibling方法可以在文件中导航,但是使用那些你无法在文件中备份的方法,你只能进入并进入,所以为了阅读下一个温度我不得不使用For循环使程序成功进入下一个预测,但它变得非常耗费资源,对Weather API的调用过多,甚至发出超时错误.如果我将XML文件从网站保存到我计算机上的项目目录,它确实有效,这样它就可以正常运行并快速获取所有数据,但是,上传后我将无法保存XML文件这个网站到服务器.
所以我的问题是,如何从这个在线天气XML文件中提取我需要的数据,并显示它或者将其轻松快速地保存到数据库中?
我在.NET Framework 3.5上使用ASP和VB.
我指的是当我们说USE dbTest我们开始使用该数据库时,我们可以创建表,什么不是,如果我们想要更改数据库,我们可以说USE dbNotatest,它会改变我们正在使用的数据库.
但有没有办法停止使用我们首先选择的数据库,而不开始使用另一个?
它可以在我的网站应用程序上正常工作,但是我也必须在将从任务计划程序运行的控制台应用程序上使用它。
这就是我所谓的导入方式:
Imports Excel = Microsoft.Office.Interop.Excel
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试从控制台应用程序导入它时,出现以下错误:
Namespace or type specified in the Imports 'Microsoft.Office.Interop.Excel' doesn't contain any public member or cannot be found
Run Code Online (Sandbox Code Playgroud)
关于如何解决这个问题的任何想法?谢谢。
您可以从他们的网站访问每小时预报,但据我阅读其 API 上的数据预报请求,仅提供每日预报,我目前正在使用 Weather Underground API,但我想知道是否可以在支付订阅费用之前,请通过 TWC 执行此操作。我已经给他们发了电子邮件但没有得到答复。
好的,所以这可能是一个非常愚蠢的问题,但老实说,我无法弄清楚这里发生了什么,我正在尝试将当前的 SSID 与另一个变量进行比较,如下所示:
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String SSID = wifiInfo.getSSID().replace("SSID: ","");
if(myWifi.equals(SSID)){
} else {
}
Run Code Online (Sandbox Code Playgroud)
现在,如您所知,wifiInfo.getSSID()返回这样的字符串SSID: wifi1。假设myWifi值是wifi1,如果与它进行比较,wifiInfo.getSSID()它会说它是假的,因为它是假的,所以我试图SSID:无偿替换该部分,希望只获得 SSID 名称 (wifi1),因此可以比较字符串和返回真。但是使用上面的代码会使 SSID 变量的值为"wifi1",因此应用程序说它是假的,因为它"wifi1"与wifi1.
为什么会这样?
sql-server ×2
vb.net ×2
android ×1
api ×1
asp.net ×1
c# ×1
comparison ×1
constraints ×1
credentials ×1
excel ×1
sql ×1
string ×1
weather ×1
weather-api ×1
web ×1
wifi ×1
wifimanager ×1
windows-10 ×1
windows-7 ×1
xml ×1