我想运行一个.sql批处理脚本来从cmd窗口中删除许多表中的记录.所以,为此我尝试使用以下命令连接到我的本地SQLEXPRESS实例 -
sqlcmd -e -s\SQLEXPRESS
但是,我无法连接并收到以下错误:
'Named Pipes Provider: Could not open a connection to SQL Server [2]'.
Run Code Online (Sandbox Code Playgroud)
我从错误消息中注意到的另一个奇怪的事情是上面的命令试图连接到SQL Server 2005,而在我的机器上运行的实例是SQLEXPRESS 2008.
任何人都可以指导.
PS我正在使用Windows身份验证连接到SQLEXPRESS,这是我使用Mgmt Studio进行连接时的情况.
我是Nhibernate的新手,所以我的查询对你来说似乎微不足道.
我们通常在里面嵌入数据操作代码
using (var session = sessionFactory.OpenSession())
{
using (var transaction = session.BeginTransaction())
{
...Code for CRUD operations
transaction.Commit();
}
}
Run Code Online (Sandbox Code Playgroud)
因为我们通常使用BeginTransaction/Commit/Rollback来保存/更新/删除数据,
我不知道BeginTransaction()和Commit()即使我使用retriving数据需要
session.Get<T>(id);或
session.CreateCriteria<T>().List();
请指导.
谢谢!
我在WCF服务配置文件中定义了两个基址:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
propagateActivity="true">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\WCF Service Logs\app_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener" traceOutputOptions="DateTime, Timestamp">
<filter type="" />
</add>
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="netTcp" maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000">
<readerQuotas maxDepth="500" maxStringContentLength="50000000" maxArrayLength="50000000" maxBytesPerRead="50000000" maxNameTableCharCount="50000000" />
<security mode="None"></security>
</binding>
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="ReportingComponentLibrary.TemplateServiceBehavior"
name="ReportingComponentLibrary.TemplateReportService">
<endpoint address="TemplateService" binding="netTcpBinding" bindingConfiguration="netTcp"
contract="ReportingComponentLibrary.ITemplateService"></endpoint>
<endpoint address="ReportService" binding="netTcpBinding" …Run Code Online (Sandbox Code Playgroud) 我在运行时使用C#中的反射从类对象访问属性值.
public bool GetValue(string fieldName, out object fieldValue)
{
// Get type of current record
Type curentRecordType = _currentObject.GetType();
PropertyInfo property = curentRecordType.GetProperty(fieldName);
if (property != null)
{
fieldValue = property.GetValue(_currentObject, null).ToString();
return true;
}
else
{
fieldValue = null;
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我将Property Name作为参数:fieldName传递给此方法.现在,我需要在运行时从上面的类的子对象访问属性值.
那里的任何人都可以指导我如何访问子对象属性值?
css newbie question -
我们为Table定义了一个广义的css及其Table Cells:
.table {
width: 100%;
margin: 1em 0 1em 0;
border-top: 1px solid #A3C0E8;
border-left: 1px solid #A3C0E8;
}
.table td, .table th {
padding: .6em;
border-right: 1px solid #A3C0E8;
border-bottom: 1px solid #A3C0E8;
vertical-align: middle;
background:#D7E8FF;
color:#333;
}
Run Code Online (Sandbox Code Playgroud)
在一个scenerio中,我想覆盖td样式,以便我可以在Table Cell文本前面显示一个图标图像.所以,如果表格单元被定义为 - <td> Vehicle Name & Details </td>
我想为这个表格单元格应用样式,以便它还在文本前面显示图标图像 - "车辆名称和详细信息".
我在css文件中添加了这个样式 -
.vehicle { background:url(mainFolder/img/icons/vehicle.png) no-repeat left center; }
Run Code Online (Sandbox Code Playgroud)
并添加到td,<td class="vehicle"> Vehicle Name & Details </td>
但没有显示图标.这个td的父表是<table class="table">
我错过了什么吗?
谢谢!
我正在使用Fluent NHibernate和一个外部'hibernate.cfg.xml'文件.
以下是我收到错误的配置代码:
var configuration = new Configuration();
configuration.Configure();
_sessionFactory = Fluently.Configure(configuration)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Template>())
.BuildSessionFactory();
return _sessionFactory;
Run Code Online (Sandbox Code Playgroud)
但是当NHibernate尝试配置时,我遇到了错误:
配置持久层期间发生异常.
内部例外说:
未配置ProxyFactoryFactory.使用一个可用的NHibernate.ByteCode提供程序初始化session-factory配置节的'proxyfactory.factory_class'属性.
我用谷歌搜索,根据我发现的一些解决方案,我做了以下更改:
将以下dll添加到我的app bin:
Castle.Core.dll,Castle.DynamicProxy2.dll,NHibernate.ByteCode.Castle.dll
在hibernate.cfg.xml中添加了follwing属性
<property name ="proxyfactory.factory_class"> NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle </ property>
但我仍然得到同样的例外.
我想将枚举属性公开给WCF客户端应用程序,但我只能看到枚举值.
这是枚举:
public enum TemplateType
{
[EnumDescription("Property Particulars")]
[EnumValue("PropertyParticulars")]
PropertyParticulars = 1,
[EnumDescription("Short Format Lists")]
[EnumValue("ShortFormatLists")]
ShortFormatLists,
[EnumDescription("Client Letters")]
[EnumValue("ClientLetters")]
ClientLetters,
[EnumDescription("Labels")]
[EnumValue("Labels")]
Labels
}
Run Code Online (Sandbox Code Playgroud)
如何公开Description和Value属性?
我有一个名为'Template'的抽象类,定义如下:
[DataContract]
public abstract class Template
{
[DataMember]
public virtual int? Id { get; set; }
[DataMember]
public virtual string Title { get; set; }
[DataMember]
public virtual byte[] TemplateDoc { get; set; }
[DataMember]
public virtual bool IsSystemTemplate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
两个派生类:UserTemplate和SystemTemplate实现上面的抽象类,定义如下:
public class UserTemplate : Template
{
[DataMember]
public virtual Int32? OfficeId { get; set; }
[DataMember]
public virtual Int32? UserId { get; set; }
protected UserTemplate() { }
public UserTemplate(string title, byte[] templateDoc, string templateDocName, …Run Code Online (Sandbox Code Playgroud) 我目前正在使用此方法从DataReader读取数据 -
private T GetValue<T>(object obj)
{
if (typeof(DBNull) != obj.GetType())
{
return (T)obj;
}
return default(T);
}
Run Code Online (Sandbox Code Playgroud)
将上述方法称为 -
GetValue<int>(dataReader["columnName1"])
GetValue<string>(dataReader["columnName2"])
GetValue<float>(dataReader["columnName3"])
Run Code Online (Sandbox Code Playgroud)
但是,当columnName3具有7200000与错误一样的值时,这会失败
Invalid Cast Exception.
我正在考虑修改我的替换方法 -
return (T)obj;
Run Code Online (Sandbox Code Playgroud)
同
return (T)Convert.ChangeType(obj, typeof(T));
Run Code Online (Sandbox Code Playgroud)
但期待更好的方式,因为这种变化将涉及两次类型铸造.
有更好的想法吗?
谢谢!
我使用以下方法转换byte[]为Bitmap:
public static Bitmap ByteArrayToBitmap(byte[] byteArray)
{
int width = 2144;
int height = 3;
Bitmap bitmapImage = new Bitmap(width, height, PixelFormat.Format32bppPArgb);
BitmapData bmpData = bitmapImage.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.ReadWrite, PixelFormat.Format32bppPArgb);
IntPtr ptr = bmpData.Scan0;
try
{
Marshal.Copy(byteArray, 0, ptr, byteArray.Length);
bitmapImage.UnlockBits(bmpData);
return bitmapImage;
}
finally
{
//Marshal.FreeHGlobal(ptr); //Do I need this?
}
}
Run Code Online (Sandbox Code Playgroud)
只是想知道我是否需要释放任何资源?尝试调用Marshal.FreeHGlobal(ptr),但我收到此错误:
对内存位置的访问无效.
有人可以指导吗?
另外,仅供参考,我可以MemoryStream用来Bitmap摆脱byte[],但在这种情况下我得到'参数无效'例外.这就是为什么选择这条路线的原因Marshal.
c# ×5
wcf ×3
.net ×2
nhibernate ×2
bitmap ×1
commit ×1
css ×1
enums ×1
marshalling ×1
net.tcp ×1
reflection ×1
sqlcmd ×1
transactions ×1